lttng: Fix Javadoc and formatting in lttng2.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui / src / org / eclipse / linuxtools / internal / lttng2 / ui / views / control / dialogs / EnableUstEventsComposite.java
1 /**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12 package org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs;
13
14 import java.util.ArrayList;
15 import java.util.HashSet;
16 import java.util.List;
17 import java.util.Set;
18
19 import org.eclipse.jface.dialogs.MessageDialog;
20 import org.eclipse.jface.viewers.CheckStateChangedEvent;
21 import org.eclipse.jface.viewers.CheckboxTreeViewer;
22 import org.eclipse.jface.viewers.ICheckStateListener;
23 import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType;
24 import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
25 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
26 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
27 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.BaseEventComponent;
28 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TargetNodeComponent;
29 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlContentProvider;
30 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlLabelProvider;
31 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceProviderGroup;
32 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.UstProviderComponent;
33 import org.eclipse.swt.SWT;
34 import org.eclipse.swt.custom.CCombo;
35 import org.eclipse.swt.events.SelectionAdapter;
36 import org.eclipse.swt.events.SelectionEvent;
37 import org.eclipse.swt.graphics.Image;
38 import org.eclipse.swt.layout.GridData;
39 import org.eclipse.swt.layout.GridLayout;
40 import org.eclipse.swt.widgets.Button;
41 import org.eclipse.swt.widgets.Composite;
42 import org.eclipse.swt.widgets.Group;
43 import org.eclipse.swt.widgets.Label;
44 import org.eclipse.swt.widgets.Text;
45
46 /**
47 * <p>
48 * A composite for collecting information about UST events to be enabled.
49 * </p>
50 *
51 * @author Bernd Hufmann
52 */
53 public class EnableUstEventsComposite extends Composite implements IEnableUstEvents {
54
55 // ------------------------------------------------------------------------
56 // Constants
57 // ------------------------------------------------------------------------
58
59 private enum GroupEnum { TRACEPOINTS, WILDCARD, LOGLEVEL }
60
61 // ------------------------------------------------------------------------
62 // Attributes
63 // ------------------------------------------------------------------------
64
65 /**
66 * A button to enable/disable the tracepoints group
67 */
68 private Button fTracepointsActivateButton;
69 /**
70 * A tree viewer for diplaying and selection of available tracepoints.
71 */
72 private CheckboxTreeViewer fTracepointsViewer;
73 /**
74 * A button to enable/disable the wildcard group
75 */
76 private Button fWildcardActivateButton;
77 /**
78 * A Text field for the event's wildcard.
79 */
80 private Text fWildcardText;
81 /**
82 * A button to enable/disable the log level group
83 */
84 private Button fLogLevelActivateButton;
85 /**
86 * A Text field for the event name for the log level enablement.
87 */
88 private Text fLogLevelEventNameText;
89 /**
90 * A Combo box for selecting the log level.
91 */
92 private CCombo fLogLevelCombo;
93 /**
94 * A button for selecting the log level (range 0 to level).
95 */
96 private Button fLogLevelButton;
97 /**
98 * A button for selecting the specified log level only.
99 */
100 private Button fLogLevelOnlyButton;
101 /**
102 * The referenced trace provider group containing the UST providers
103 * component which contains a list of available tracepoints.
104 */
105 private final TraceProviderGroup fProviderGroup;
106 /**
107 * The flag indicating that tracepoints are selected.
108 */
109 private boolean fIsTracepoints;
110 /**
111 * The flag indicating that all tracepoints (across providers) are selected.
112 */
113 private boolean fIsAllTracepoints;
114 /**
115 * The list of tracepoints to be enabled.
116 */
117 private List<String> fSelectedEvents;
118 /**
119 * The flag indicating that all wildcard are selected..
120 */
121 private boolean fIsWildcard;
122 /**
123 * The wildcard if wildcard is selected.
124 */
125 private String fWildcard;
126 /**
127 *The flag indicating that all log level are selected.
128 */
129 private boolean fIsLogLevel;
130 /**
131 * The event name for the log level enablement.
132 */
133 private String fLogLevelEventName;
134 /**
135 * The type of the log level (loglevel or loglevel-only)
136 */
137 private LogLevelType fLogLevelType;
138 /**
139 * The actual selected log level.
140 */
141 private TraceLogLevel fLogLevel;
142
143 // ------------------------------------------------------------------------
144 // Constructors
145 // ------------------------------------------------------------------------
146 /**
147 * Constructor
148 * @param parent - a parent composite
149 * @param style - a composite style
150 * @param providerGroup - the trace provider group
151 */
152 public EnableUstEventsComposite(Composite parent, int style, TraceProviderGroup providerGroup) {
153 super(parent, style);
154 fProviderGroup = providerGroup;
155 }
156
157 // ------------------------------------------------------------------------
158 // Accessors
159 // ------------------------------------------------------------------------
160
161 /*
162 * (non-Javadoc)
163 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#isTracepoints()
164 */
165 @Override
166 public boolean isTracepoints() {
167 return fIsTracepoints;
168 }
169
170 /*
171 * (non-Javadoc)
172 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#isAllTracePoints()
173 */
174 @Override
175 public boolean isAllTracePoints() {
176 return fIsAllTracepoints;
177 }
178
179 /*
180 * (non-Javadoc)
181 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getEventNames()
182 */
183 @Override
184 public List<String> getEventNames() {
185 return new ArrayList<String>(fSelectedEvents);
186 }
187
188 /*
189 * (non-Javadoc)
190 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#isWildcard()
191 */
192 @Override
193 public boolean isWildcard() {
194 return fIsWildcard;
195 }
196
197 /*
198 * (non-Javadoc)
199 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getWildcard()
200 */
201 @Override
202 public String getWildcard() {
203 return "\"" + fWildcard + "\""; //$NON-NLS-1$//$NON-NLS-2$
204 }
205
206 /*
207 * (non-Javadoc)
208 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#isLogLevel()
209 */
210 @Override
211 public boolean isLogLevel() {
212 return fIsLogLevel;
213 }
214
215 /*
216 * (non-Javadoc)
217 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getLogLevelType()
218 */
219 @Override
220 public LogLevelType getLogLevelType() {
221 return fLogLevelType;
222 }
223
224 /*
225 * (non-Javadoc)
226 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getLogLevel()
227 */
228 @Override
229 public TraceLogLevel getLogLevel() {
230 return fLogLevel;
231 }
232
233 /*
234 * (non-Javadoc)
235 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getLogLevelEventName()
236 */
237 @Override
238 public String getLogLevelEventName() {
239 return fLogLevelEventName;
240 }
241
242 // ------------------------------------------------------------------------
243 // Operations
244 // ------------------------------------------------------------------------
245
246 /**
247 * Create the contents of this event composite
248 */
249 public void createContent() {
250
251 // Tracepoints Group
252 createTracepointsGroup();
253
254 // Wildcard Group
255 createWildCardGroup();
256
257 // Log Level Group
258 createLogLevelGroup();
259
260 // Set default enablements
261 setEnablements(GroupEnum.TRACEPOINTS);
262 }
263
264 /**
265 * Validates the UST composite input data.
266 * @return true if configured data is valid and can be retrieved.
267 */
268 public boolean isValid() {
269
270 fIsTracepoints = fTracepointsActivateButton.getSelection();
271 fIsWildcard = fWildcardActivateButton.getSelection();
272 fIsLogLevel = fLogLevelActivateButton.getSelection();
273
274 // initialize tracepoint fields
275 fIsAllTracepoints = false;
276 fSelectedEvents = new ArrayList<String>();
277 if (fIsTracepoints) {
278 fIsAllTracepoints = fTracepointsViewer.getChecked(fProviderGroup);
279 Set<String> set = new HashSet<String>();
280 Object[] checkedElements = fTracepointsViewer.getCheckedElements();
281 for (int i = 0; i < checkedElements.length; i++) {
282 ITraceControlComponent component = (ITraceControlComponent)checkedElements[i];
283 if (!set.contains(component.getName()) && (component instanceof BaseEventComponent)) {
284 set.add(component.getName());
285 fSelectedEvents.add(component.getName());
286 }
287 }
288 }
289
290 // initialize log level event name string
291 fLogLevelType = LogLevelType.LOGLEVEL_NONE;
292 fLogLevelEventName = null;
293
294 if (fIsLogLevel) {
295 if (fLogLevelButton.getSelection()) {
296 fLogLevelType = LogLevelType.LOGLEVEL;
297 } else if (fLogLevelOnlyButton.getSelection()) {
298 fLogLevelType = LogLevelType.LOGLEVEL_ONLY;
299 }
300
301 String temp = fLogLevelEventNameText.getText();
302 if (!temp.matches("^[\\s]{0,}$") && !temp.matches("^[a-zA-Z0-9\\-\\_]{1,}$")) { //$NON-NLS-1$ //$NON-NLS-2$
303 MessageDialog.openError(getShell(),
304 Messages.TraceControl_EnableEventsDialogTitle,
305 Messages.TraceControl_InvalidLogLevelEventNameError + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
306
307 return false;
308 }
309
310 if(!temp.matches("\\s*")) { //$NON-NLS-1$
311 fLogLevelEventName = temp;
312 }
313
314 TraceLogLevel[] levels = TraceLogLevel.values();
315 int id = fLogLevelCombo.getSelectionIndex();
316
317 if (id < 0) {
318 MessageDialog.openError(getShell(),
319 Messages.TraceControl_EnableEventsDialogTitle,
320 Messages.TraceControl_InvalidLogLevel + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
321
322 return false;
323 }
324 fLogLevel = levels[id];
325 }
326
327 // initialize wildcard with the event name string
328 fWildcard = null;
329 if (fIsWildcard) {
330 String tempWildcard = fWildcardText.getText();
331 if (!tempWildcard.matches("^[\\s]{0,}$") && !tempWildcard.matches("^[a-zA-Z0-9\\-\\_\\*]{1,}$")) { //$NON-NLS-1$ //$NON-NLS-2$
332 MessageDialog.openError(getShell(),
333 Messages.TraceControl_EnableEventsDialogTitle,
334 Messages.TraceControl_InvalidWildcardError + " (" + tempWildcard + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
335
336 return false;
337 }
338
339 if(!tempWildcard.matches("\\s*")) { //$NON-NLS-1$
340 fWildcard = tempWildcard;
341 }
342 }
343
344 // validation successful -> call super.okPressed()
345 return true;
346 }
347
348 // ------------------------------------------------------------------------
349 // Helper methods
350 // ------------------------------------------------------------------------
351
352 /**
353 * Creates tracepoints group.
354 */
355 private void createTracepointsGroup() {
356 Group tpMainGroup = new Group(this, SWT.SHADOW_NONE);
357 tpMainGroup.setText(Messages.TraceControl_EnableEventsTracepointGroupName);
358 GridLayout layout = new GridLayout(2, false);
359 tpMainGroup.setLayout(layout);
360 GridData data = new GridData(GridData.FILL_BOTH);
361 tpMainGroup.setLayoutData(data);
362
363 Composite buttonComposite = new Composite(tpMainGroup, SWT.NONE);
364 layout = new GridLayout(1, true);
365 buttonComposite.setLayout(layout);
366 data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
367 buttonComposite.setLayoutData(data);
368
369 fTracepointsActivateButton = new Button(buttonComposite, SWT.RADIO);
370 fTracepointsActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
371 data = new GridData(GridData.FILL_HORIZONTAL);
372 fTracepointsActivateButton.setLayoutData(data);
373 fTracepointsActivateButton.addSelectionListener(new SelectionAdapter() {
374 @Override
375 public void widgetSelected(SelectionEvent e) {
376 setEnablements(GroupEnum.TRACEPOINTS);
377 }
378 });
379
380 Group tpGroup = new Group(tpMainGroup, SWT.SHADOW_NONE);
381 layout = new GridLayout(1, true);
382 tpGroup.setLayout(layout);
383 data = new GridData(GridData.FILL_BOTH);
384 tpGroup.setLayoutData(data);
385
386 fTracepointsViewer = new CheckboxTreeViewer(tpGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
387 fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip);
388 fTracepointsViewer.setContentProvider(new UstContentProvider());
389
390 fTracepointsViewer.setLabelProvider(new UstLabelProvider());
391 fTracepointsViewer.addCheckStateListener(new UstCheckStateListener());
392
393 fTracepointsViewer.setInput(fProviderGroup.getParent());
394 fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
395 }
396
397 /**
398 * Creates wildcard group.
399 */
400 private void createWildCardGroup() {
401 Group wildcardMainGroup = new Group(this, SWT.SHADOW_NONE);
402 wildcardMainGroup.setText(Messages.TraceControl_EnableEventsWildcardGroupName);
403 GridLayout layout = new GridLayout(2, false);
404 wildcardMainGroup.setLayout(layout);
405 GridData data = new GridData(GridData.FILL_HORIZONTAL);
406 wildcardMainGroup.setLayoutData(data);
407
408 Composite buttonComposite = new Composite(wildcardMainGroup, SWT.NONE);
409 layout = new GridLayout(1, false);
410 buttonComposite.setLayout(layout);
411 data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
412 buttonComposite.setLayoutData(data);
413
414 fWildcardActivateButton = new Button(buttonComposite, SWT.RADIO);
415 fWildcardActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
416 fWildcardActivateButton.setSelection(false);
417 data = new GridData(GridData.FILL_HORIZONTAL);
418 fWildcardActivateButton.setLayoutData(data);
419 fWildcardActivateButton.addSelectionListener(new SelectionAdapter() {
420 @Override
421 public void widgetSelected(SelectionEvent e) {
422 setEnablements(GroupEnum.WILDCARD);
423 }
424 });
425
426 Group wildcardGroup = new Group(wildcardMainGroup, SWT.SHADOW_NONE);
427 layout = new GridLayout(3, true);
428 wildcardGroup.setLayout(layout);
429 data = new GridData(GridData.FILL_HORIZONTAL);
430 wildcardGroup.setLayoutData(data);
431
432 Label wildcardLabel = new Label(wildcardGroup, SWT.LEFT);
433 wildcardLabel.setText(Messages.TraceControl_EnableEventsWildcardLabel);
434 data = new GridData(GridData.FILL_HORIZONTAL);
435 data.horizontalSpan = 1;
436 wildcardLabel.setLayoutData(data);
437
438 fWildcardText = new Text(wildcardGroup, SWT.LEFT);
439 fWildcardText.setToolTipText(Messages.TraceControl_EnableEventsWildcardTooltip);
440 data = new GridData(GridData.FILL_HORIZONTAL);
441 data.horizontalSpan = 2;
442 fWildcardText.setLayoutData(data);
443 }
444
445 /**
446 * Creates log level group.
447 */
448 private void createLogLevelGroup() {
449 Group logLevelMainGroup = new Group(this, SWT.SHADOW_NONE);
450 logLevelMainGroup.setText(Messages.TraceControl_EnableEventsLogLevelGroupName);
451 GridLayout layout = new GridLayout(2, false);
452 logLevelMainGroup.setLayout(layout);
453 GridData data = new GridData(GridData.FILL_HORIZONTAL);
454 logLevelMainGroup.setLayoutData(data);
455
456 Composite buttonComposite = new Composite(logLevelMainGroup, SWT.NONE);
457 layout = new GridLayout(1, false);
458 buttonComposite.setLayout(layout);
459 data = new GridData(SWT.BEGINNING, SWT.CENTER, false, true);
460 buttonComposite.setLayoutData(data);
461
462 fLogLevelActivateButton = new Button(buttonComposite, SWT.RADIO);
463 fLogLevelActivateButton.setText(Messages.TraceControl_EnableGroupSelectionName);
464 fLogLevelActivateButton.setSelection(false);
465 data = new GridData(GridData.FILL_HORIZONTAL);
466 fLogLevelActivateButton.setLayoutData(data);
467 fLogLevelActivateButton.addSelectionListener(new SelectionAdapter() {
468 @Override
469 public void widgetSelected(SelectionEvent e) {
470 setEnablements(GroupEnum.LOGLEVEL);
471 }
472 });
473
474 Group logLevelGroup = new Group(logLevelMainGroup, SWT.SHADOW_NONE);
475 layout = new GridLayout(3, true);
476 logLevelGroup.setLayout(layout);
477 logLevelGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
478
479 Label logLevelEventNameLabel = new Label(logLevelGroup, SWT.LEFT);
480 logLevelEventNameLabel.setText(Messages.TraceControl_EnableEventsEventNameLabel);
481
482 data = new GridData(GridData.FILL_BOTH);
483 data.horizontalSpan = 1;
484 logLevelEventNameLabel.setLayoutData(data);
485
486 fLogLevelEventNameText = new Text(logLevelGroup, SWT.LEFT);
487 fLogLevelEventNameText.setToolTipText(Messages.TraceControl_EnableEventsLoglevelEventNameTooltip);
488 data = new GridData(GridData.FILL_BOTH);
489 data.horizontalSpan = 2;
490 fLogLevelEventNameText.setLayoutData(data);
491
492 TraceLogLevel[] levels = TraceLogLevel.values();
493
494 String[] levelNames = new String[levels.length - 1];
495 int k = 0;
496 for (int i = 0; i < levels.length; i++) {
497 if (levels[i] != TraceLogLevel.LEVEL_UNKNOWN) {
498 levelNames[k++] = levels[i].getInName();
499 }
500 }
501
502 fLogLevelCombo = new CCombo(logLevelGroup, SWT.READ_ONLY);
503 fLogLevelCombo.setItems(levelNames);
504 fLogLevelCombo.setToolTipText(Messages.TraceControl_EnableEventsLogLevelTooltip);
505 data = new GridData(GridData.FILL_HORIZONTAL);
506 data.horizontalSpan = 4;
507 fLogLevelCombo.setLayoutData(data);
508
509 fLogLevelButton = new Button(logLevelGroup, SWT.RADIO);
510 fLogLevelButton.setText(Messages.TraceControl_EnableEventsLogLevelTypeName);
511 fLogLevelButton.setToolTipText(Messages.TraceControl_EnableEventsLogLevelTypeTooltip);
512 data = new GridData(GridData.FILL_BOTH);
513 fLogLevelButton.setLayoutData(data);
514
515 fLogLevelOnlyButton = new Button(logLevelGroup, SWT.RADIO);
516 fLogLevelOnlyButton.setText(Messages.TraceControl_EnableEventsLogLevelOnlyTypeName);
517 fLogLevelOnlyButton.setToolTipText(Messages.TraceControl_EnableEventsLogLevelOnlyTypeTooltip);
518 data = new GridData(GridData.FILL_BOTH);
519 fLogLevelButton.setLayoutData(data);
520 }
521
522 /**
523 * Enable/selects widgets depending on the group specified.
524 * @param group - group to enable.
525 */
526 private void setEnablements(GroupEnum group) {
527
528 // Enable/disable trace point items
529 fTracepointsActivateButton.setSelection(group == GroupEnum.TRACEPOINTS);
530 fTracepointsViewer.getTree().setEnabled(group == GroupEnum.TRACEPOINTS);
531
532 // Enable/disable wildcard items
533 fWildcardActivateButton.setSelection(group == GroupEnum.WILDCARD);
534 fWildcardText.setEnabled(group == GroupEnum.WILDCARD);
535
536 // Enable/disable log level items
537 fLogLevelActivateButton.setSelection(group == GroupEnum.LOGLEVEL);
538 fLogLevelEventNameText.setEnabled(group == GroupEnum.LOGLEVEL);
539 fLogLevelCombo.setEnabled(group == GroupEnum.LOGLEVEL);
540 fLogLevelButton.setEnabled(group == GroupEnum.LOGLEVEL);
541 fLogLevelOnlyButton.setEnabled(group == GroupEnum.LOGLEVEL);
542 }
543
544 // ------------------------------------------------------------------------
545 // Local classes
546 // ------------------------------------------------------------------------
547 /**
548 * Content provider for the tracepoints tree.
549 */
550 final static public class UstContentProvider extends TraceControlContentProvider {
551 @Override
552 public Object[] getChildren(Object parentElement) {
553 if (parentElement instanceof TargetNodeComponent) {
554 List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(TraceProviderGroup.class);
555 return children.toArray(new ITraceControlComponent[children.size()]);
556 }
557 if (parentElement instanceof TraceProviderGroup) {
558 List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(UstProviderComponent.class);
559 return children.toArray(new ITraceControlComponent[children.size()]);
560 }
561 if (parentElement instanceof ITraceControlComponent) {
562 return ((ITraceControlComponent)parentElement).getChildren();
563 }
564 return new Object[0];
565 }
566 }
567
568 /**
569 * Content label for the tracepoints tree.
570 */
571 final static public class UstLabelProvider extends TraceControlLabelProvider {
572 @Override
573 public Image getImage(Object element) {
574 return null;
575 }
576 @Override
577 public String getText(Object element) {
578 if ((element != null) && (element instanceof TraceProviderGroup)) {
579 return Messages.TraceControl_EnableEventsTracepointTreeAllLabel;
580 }
581
582 if ((element != null) && (element instanceof UstProviderComponent)) {
583 return Messages.TraceControl_EnableEventsTracepointTreeAllLabel + " - " + ((UstProviderComponent)element).getName(); //$NON-NLS-1$
584 }
585 return super.getText(element);
586 }
587 }
588
589 /**
590 * Check state listener for the tracepoints tree.
591 */
592 final public class UstCheckStateListener implements ICheckStateListener {
593 @Override
594 public void checkStateChanged(CheckStateChangedEvent event) {
595 if (event.getChecked()) {
596 if (event.getElement() instanceof TraceProviderGroup) {
597 fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
598 }
599 if (event.getElement() instanceof UstProviderComponent) {
600 fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
601 }
602 } else {
603 if (event.getElement() instanceof TraceProviderGroup) {
604 fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
605 }
606 if (event.getElement() instanceof UstProviderComponent) {
607 ITraceControlComponent component = (ITraceControlComponent) event.getElement();
608 fTracepointsViewer.setSubtreeChecked(event.getElement(), false);
609 fTracepointsViewer.setChecked(component.getParent(), false);
610 } else {
611 ITraceControlComponent component = (ITraceControlComponent) event.getElement();
612 fTracepointsViewer.setChecked(component.getParent(), false);
613 fTracepointsViewer.setChecked(component.getParent().getParent(), false);
614 }
615 }
616 }
617 }
618 }
This page took 0.044476 seconds and 6 git commands to generate.