blob: 370e6f92909b77c9f93d074ff33a725c31c195e7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Patrick Tasse - Initial API and implementation
*******************************************************************************/
package org.eclipse.tracecompass.internal.tmf.ui.markers;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.tracecompass.internal.tmf.core.markers.MarkerConfigXmlParser;
import org.eclipse.tracecompass.internal.tmf.core.markers.MarkerSet;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
/**
* Utility class for markers
*/
public class MarkerUtils {
private static final String MARKER_SET_KEY = "marker.set"; //$NON-NLS-1$
private static MarkerSet fDefaultMarkerSet = null;
private MarkerUtils() {
// Do nothing, private constructor
}
/**
* Get the default marker set
*
* @return the default marker set, or null if none is set
*/
public static synchronized @Nullable MarkerSet getDefaultMarkerSet() {
String id = getDialogSettings().get(MARKER_SET_KEY);
if (id == null) {
fDefaultMarkerSet = null;
} else {
if (fDefaultMarkerSet == null || !fDefaultMarkerSet.getId().equals(id)) {
for (MarkerSet markerSet : MarkerConfigXmlParser.getMarkerSets()) {
if (markerSet.getId().equals(id)) {
fDefaultMarkerSet = markerSet;
}
}
}
}
return fDefaultMarkerSet;
}
/**
* Set the default marker set
*
* @param markerSet
* the default marker set, or null to set none
*/
public static synchronized void setDefaultMarkerSet(@Nullable MarkerSet markerSet) {
fDefaultMarkerSet = markerSet;
String id = (markerSet == null) ? null : markerSet.getId();
getDialogSettings().put(MARKER_SET_KEY, id);
}
private static IDialogSettings getDialogSettings() {
IDialogSettings settings = Activator.getDefault().getDialogSettings();
IDialogSettings dialogSettings = settings.getSection(MarkerUtils.class.getName());
if (dialogSettings == null) {
dialogSettings = settings.addNewSection(MarkerUtils.class.getName());
}
return dialogSettings;
}
}