/******************************************************************************* * Copyright (c) 2015 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: * Marc-Andre Laperle - Initial API and implementation *******************************************************************************/ package org.eclipse.tracecompass.tmf.ui.signal; import org.eclipse.tracecompass.tmf.core.signal.TmfSignal; /** * A signal to inform about the state of time alignment. Typically, the emitter * will inform the receivers about the position of a sash that separates the * time axis on right side and extra information on the left side. * * @see TmfTimeViewAlignmentInfo * * @since 1.0 */ public class TmfTimeViewAlignmentSignal extends TmfSignal { private final TmfTimeViewAlignmentInfo fTimeViewAlignmentInfo; private final boolean fIsSynchronous; /** * Creates a new TmfTimeViewAlignmentSignal * * @param source * the source of the signal * @param alignmentInfo * information about the time alignment */ public TmfTimeViewAlignmentSignal(Object source, TmfTimeViewAlignmentInfo alignmentInfo) { this(source, alignmentInfo, false); } /** * Creates a new TmfTimeViewAlignmentSignal * * @param source * the source of the signal * @param alignmentInfo * information about the time alignment * @param synchronous * whether or not the signal should be processed right away. This * is useful for signals that are sent not repetitively. * For example, a sash being dragged would not be synchronous * because the signal gets fired repeatedly. A view that has * completed computing it's data could send a synchronous signal. */ public TmfTimeViewAlignmentSignal(Object source, TmfTimeViewAlignmentInfo alignmentInfo, boolean synchronous) { super(source); fTimeViewAlignmentInfo = alignmentInfo; fIsSynchronous = synchronous; } /** * Get the time alignment information. * * @return the time alignment information */ public TmfTimeViewAlignmentInfo getTimeViewAlignmentInfo() { return fTimeViewAlignmentInfo; } @Override public String toString() { return "[TmfTimeViewAlignmentSignal (" + fTimeViewAlignmentInfo.toString() + ")]"; //$NON-NLS-1$ //$NON-NLS-2$ } /** * Get whether or not the signal should be processed right away, without * being throttled. * * @return whether or not the signal should be processed right away */ public boolean IsSynchronous() { return fIsSynchronous; } }