X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tmf%2Forg.lttng.scope.tmf2.views.core%2Fsrc%2Forg%2Flttng%2Fscope%2Ftmf2%2Fviews%2Fcore%2Ftimegraph%2Fmodel%2Fprovider%2Fdrawnevents%2FTimeGraphDrawnEventProvider.java;fp=tmf%2Forg.lttng.scope.tmf2.views.core%2Fsrc%2Forg%2Flttng%2Fscope%2Ftmf2%2Fviews%2Fcore%2Ftimegraph%2Fmodel%2Fprovider%2Fdrawnevents%2FTimeGraphDrawnEventProvider.java;h=2ace59007b30fb17e204bc3d7db8749abbf5b844;hb=735b1ca2b2e149bb22d85df231af4239b5e5522d;hp=0000000000000000000000000000000000000000;hpb=0b55ad30f1f5ee8ca3fd0ce5ff4c40022dff8661;p=deliverable%2Ftracecompass.git diff --git a/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/provider/drawnevents/TimeGraphDrawnEventProvider.java b/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/provider/drawnevents/TimeGraphDrawnEventProvider.java new file mode 100644 index 0000000000..2ace59007b --- /dev/null +++ b/tmf/org.lttng.scope.tmf2.views.core/src/org/lttng/scope/tmf2/views/core/timegraph/model/provider/drawnevents/TimeGraphDrawnEventProvider.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir + * + * 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 + */ + +package org.lttng.scope.tmf2.views.core.timegraph.model.provider.drawnevents; + +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; +import org.lttng.scope.tmf2.views.core.timegraph.model.render.drawnevents.TimeGraphDrawnEventSeries; + +import javafx.beans.property.BooleanProperty; +import javafx.beans.property.ObjectProperty; +import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.property.SimpleObjectProperty; + +/** + * Basic implementation of {@link ITimeGraphDrawnEventProvider}. + * + * Implementation of the {@link #getEventRender} method is left to subclasses. + * + * @author Alexandre Montplaisir + */ +public abstract class TimeGraphDrawnEventProvider implements ITimeGraphDrawnEventProvider { + + private final ObjectProperty<@Nullable ITmfTrace> fTraceProperty = new SimpleObjectProperty<>(null); + private final BooleanProperty fEnabledProperty = new SimpleBooleanProperty(false); + private final TimeGraphDrawnEventSeries fDrawnEventSeries; + + /** + * Constructor + * + * @param drawnEventSeries + * The event series provided by this provider. + */ + protected TimeGraphDrawnEventProvider(TimeGraphDrawnEventSeries drawnEventSeries) { + fDrawnEventSeries = drawnEventSeries; + } + + @Override + public final ObjectProperty<@Nullable ITmfTrace> traceProperty() { + return fTraceProperty; + } + + @Override + public final BooleanProperty enabledProperty() { + return fEnabledProperty; + } + + @Override + public final TimeGraphDrawnEventSeries getEventSeries() { + return fDrawnEventSeries; + } + +}