/*******************************************************************************
 * Copyright (c) 2019 École Polytechnique de Montréal
 *
 * 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
 *******************************************************************************/

/**
 * <code>/TraceCompass/TraceUI</code>: An extension of the
 * <code>/TraceCompass/Trace</code> scripting module that allows to interact
 * with the Trace Compass Project Explorer and UI in general.
 *
 * <pre>
 * Load: <code>/TraceCompass/TraceUI</code>
 * Type: UI
 * </pre>
 */
@org.eclipse.jdt.annotation.NonNullByDefault
package org.eclipse.tracecompass.incubator.scripting.ui.trace;
