/**********************************************************************
* Copyright (c) 2012 Ericsson
- *
+ *
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
+ *
+ * Contributors:
* Bernd Hufmann - Initial API and implementation
**********************************************************************/
package org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs;
* <p>
* A composite for collecting information about UST events to be enabled.
* </p>
- *
+ *
* @author Bernd Hufmann
*/
public class EnableUstEventsComposite extends Composite implements IEnableUstEvents {
// ------------------------------------------------------------------------
// Constants
// ------------------------------------------------------------------------
-
- private enum GroupEnum { TRACEPOINTS, WILDCARD, LOGLEVEL };
-
+
+ private enum GroupEnum { TRACEPOINTS, WILDCARD, LOGLEVEL }
+
// ------------------------------------------------------------------------
// Attributes
// ------------------------------------------------------------------------
-
+
/**
* A button to enable/disable the tracepoints group
*/
*/
private Button fLogLevelOnlyButton;
/**
- * The referenced trace provider group containing the UST providers
+ * The referenced trace provider group containing the UST providers
* component which contains a list of available tracepoints.
*/
- private TraceProviderGroup fProviderGroup;
+ private final TraceProviderGroup fProviderGroup;
/**
* The flag indicating that tracepoints are selected.
*/
*/
private List<String> fSelectedEvents;
/**
- * The flag indicating that all wildcard are selected..
+ * The flag indicating that all wildcard are selected..
*/
private boolean fIsWildcard;
/**
- * The wildcard if wildcard is selected.
+ * The wildcard if wildcard is selected.
*/
private String fWildcard;
/**
- *The flag indicating that all log level are selected.
+ *The flag indicating that all log level are selected.
*/
private boolean fIsLogLevel;
/**
/**
* Constructor
* @param parent - a parent composite
- * @Param style - a compsite style
+ * @param style - a composite style
* @param providerGroup - the trace provider group
*/
public EnableUstEventsComposite(Composite parent, int style, TraceProviderGroup providerGroup) {
public boolean isTracepoints() {
return fIsTracepoints;
}
-
+
/*
* (non-Javadoc)
* @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#isAllTracePoints()
public boolean isAllTracePoints() {
return fIsAllTracepoints;
}
-
+
/*
* (non-Javadoc)
* @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.dialogs.IEnableUstEvents#getEventNames()
public String getLogLevelEventName() {
return fLogLevelEventName;
}
-
+
// ------------------------------------------------------------------------
// Operations
// ------------------------------------------------------------------------
+ /**
+ * Create the contents of this event composite
+ */
public void createContent() {
-
- // Tracepoints Group
+
+ // Tracepoints Group
createTracepointsGroup();
- // Wildcard Group
+ // Wildcard Group
createWildCardGroup();
- // Log Level Group
+ // Log Level Group
createLogLevelGroup();
-
+
// Set default enablements
setEnablements(GroupEnum.TRACEPOINTS);
}
* @return true if configured data is valid and can be retrieved.
*/
public boolean isValid() {
-
+
fIsTracepoints = fTracepointsActivateButton.getSelection();
fIsWildcard = fWildcardActivateButton.getSelection();
fIsLogLevel = fLogLevelActivateButton.getSelection();
-
+
// initialize tracepoint fields
fIsAllTracepoints = false;
fSelectedEvents = new ArrayList<String>();
Messages.TraceControl_InvalidLogLevel + " (" + temp + ") \n"); //$NON-NLS-1$ //$NON-NLS-2$
return false;
- } else {
- fLogLevel = levels[id];
}
+ fLogLevel = levels[id];
}
// initialize wildcard with the event name string
// validation successful -> call super.okPressed()
return true;
}
-
+
// ------------------------------------------------------------------------
// Helper methods
// ------------------------------------------------------------------------
-
+
/**
* Creates tracepoints group.
*/
tpMainGroup.setLayout(layout);
GridData data = new GridData(GridData.FILL_BOTH);
tpMainGroup.setLayoutData(data);
-
+
Composite buttonComposite = new Composite(tpMainGroup, SWT.NONE);
layout = new GridLayout(1, true);
buttonComposite.setLayout(layout);
setEnablements(GroupEnum.TRACEPOINTS);
}
});
-
+
Group tpGroup = new Group(tpMainGroup, SWT.SHADOW_NONE);
layout = new GridLayout(1, true);
tpGroup.setLayout(layout);
data = new GridData(GridData.FILL_BOTH);
tpGroup.setLayoutData(data);
-
+
fTracepointsViewer = new CheckboxTreeViewer(tpGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
fTracepointsViewer.getTree().setToolTipText(Messages.TraceControl_EnableEventsTracepointTreeTooltip);
fTracepointsViewer.setContentProvider(new UstContentProvider());
fTracepointsViewer.setInput(fProviderGroup.getParent());
fTracepointsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
}
-
+
/**
* Creates wildcard group.
*/
wildcardMainGroup.setLayout(layout);
GridData data = new GridData(GridData.FILL_HORIZONTAL);
wildcardMainGroup.setLayoutData(data);
-
+
Composite buttonComposite = new Composite(wildcardMainGroup, SWT.NONE);
layout = new GridLayout(1, false);
buttonComposite.setLayout(layout);
setEnablements(GroupEnum.WILDCARD);
}
});
-
+
Group wildcardGroup = new Group(wildcardMainGroup, SWT.SHADOW_NONE);
layout = new GridLayout(3, true);
wildcardGroup.setLayout(layout);
data = new GridData(GridData.FILL_HORIZONTAL);
wildcardGroup.setLayoutData(data);
-
+
Label wildcardLabel = new Label(wildcardGroup, SWT.LEFT);
wildcardLabel.setText(Messages.TraceControl_EnableEventsWildcardLabel);
data = new GridData(GridData.FILL_HORIZONTAL);
data.horizontalSpan = 1;
wildcardLabel.setLayoutData(data);
-
+
fWildcardText = new Text(wildcardGroup, SWT.LEFT);
fWildcardText.setToolTipText(Messages.TraceControl_EnableEventsWildcardTooltip);
data = new GridData(GridData.FILL_HORIZONTAL);
data.horizontalSpan = 2;
fWildcardText.setLayoutData(data);
}
-
+
/**
* Creates log level group.
*/
logLevelMainGroup.setLayout(layout);
GridData data = new GridData(GridData.FILL_HORIZONTAL);
logLevelMainGroup.setLayoutData(data);
-
+
Composite buttonComposite = new Composite(logLevelMainGroup, SWT.NONE);
layout = new GridLayout(1, false);
buttonComposite.setLayout(layout);
fLogLevelEventNameText.setLayoutData(data);
TraceLogLevel[] levels = TraceLogLevel.values();
-
+
String[] levelNames = new String[levels.length - 1];
int k = 0;
for (int i = 0; i < levels.length; i++) {
data = new GridData(GridData.FILL_BOTH);
fLogLevelButton.setLayoutData(data);
}
-
+
/**
* Enable/selects widgets depending on the group specified.
* @param group - group to enable.
*/
private void setEnablements(GroupEnum group) {
-
+
// Enable/disable trace point items
fTracepointsActivateButton.setSelection(group == GroupEnum.TRACEPOINTS);
fTracepointsViewer.getTree().setEnabled(group == GroupEnum.TRACEPOINTS);
-
+
// Enable/disable wildcard items
fWildcardActivateButton.setSelection(group == GroupEnum.WILDCARD);
fWildcardText.setEnabled(group == GroupEnum.WILDCARD);
// Local classes
// ------------------------------------------------------------------------
/**
- * Content provider for the tracepoints tree.
+ * Content provider for the tracepoints tree.
*/
final static public class UstContentProvider extends TraceControlContentProvider {
@Override
public Object[] getChildren(Object parentElement) {
if (parentElement instanceof TargetNodeComponent) {
List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(TraceProviderGroup.class);
- return (ITraceControlComponent[]) children.toArray(new ITraceControlComponent[children.size()]);
+ return children.toArray(new ITraceControlComponent[children.size()]);
}
if (parentElement instanceof TraceProviderGroup) {
List<ITraceControlComponent> children = ((ITraceControlComponent)parentElement).getChildren(UstProviderComponent.class);
- return (ITraceControlComponent[]) children.toArray(new ITraceControlComponent[children.size()]);
+ return children.toArray(new ITraceControlComponent[children.size()]);
}
if (parentElement instanceof ITraceControlComponent) {
return ((ITraceControlComponent)parentElement).getChildren();
return new Object[0];
}
}
-
+
/**
- * Content label for the tracepoints tree.
+ * Content label for the tracepoints tree.
*/
final static public class UstLabelProvider extends TraceControlLabelProvider {
@Override
}
/**
- * Check state listener for the tracepoints tree.
+ * Check state listener for the tracepoints tree.
*/
final public class UstCheckStateListener implements ICheckStateListener {
@Override
}
if (event.getElement() instanceof UstProviderComponent) {
fTracepointsViewer.setSubtreeChecked(event.getElement(), true);
- }
+ }
} else {
if (event.getElement() instanceof TraceProviderGroup) {
fTracepointsViewer.setSubtreeChecked(event.getElement(), true);