blob: ccad129a1db6c7e8e5895d28e58fb568913c2eb0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 Ericsson and others.
*
* 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
*******************************************************************************/
package org.eclipse.tracecompass.tmf.core.viewmodel;
import org.eclipse.jdt.annotation.Nullable;
/**
* A y series, essentially a line
*
* @author Matthew Khouzam
* @since 3.1
*/
public interface IYSeries {
/**
* Line series
*/
String LINE = "line"; //$NON-NLS-1$
/**
* Area series
*/
String AREA = "area"; //$NON-NLS-1$
/**
* Scatter series
*/
String SCATTER = "scatter"; //$NON-NLS-1$
/**
* Bar series
*/
String BAR = "bar"; //$NON-NLS-1$
/**
* No line
*/
String NONE = "none"; //$NON-NLS-1$
/**
* Solid line
*/
String SOLID = "solid"; //$NON-NLS-1$
/**
* Dotted line
*/
String DOT = "dot"; //$NON-NLS-1$
/**
* Dashed line
*/
String DASH = "dash"; //$NON-NLS-1$
/**
* Dashed Dot (-.-.-.-) line
*/
String DASHDOT = "dashdot"; //$NON-NLS-1$
/**
* Dashed Dot Dot (-..-..-..) line
*/
String DASHDOTDOT = "dashdotdot"; //$NON-NLS-1$
/**
* Get the label of the series, AKA, the name of that series to display
*
* @return the label
*/
String getLabel();
/**
* Get the y series values
*
* @return the y series values
*/
double[] getDatapoints();
/**
* Gets the series type. Can be a :
* <ul>
* <li>LINE</li>
* <li>AREA</li>
* <li>BAR</li>
* <li>SCATTER</li>
* </ul>
*
* @return the series type
*/
String getSeriesType();
/**
* Gets the series style. Can be:
* <ul>
* <li>NONE</li>
* <li>SOLID</li>
* <li>DOT</li>
* <li>DASH</li>
* <li>DASHDOT</li>
* <li>DASHDOTDOT</li>
* </ul>
*
* @return the series style
*/
String getSeriesStyle();
/**
* Get the color of the series
*
* @return the color of the series
*/
@Nullable String getColor();
/**
* Get the thickness of the series.
* <ul>
* <li>If it is a {@link #LINE} chart, this is the width of the line</li>
* <li>If it is an {@link #AREA} chart, this is the width of the envelope
* line<</li>
* <li>If it is a {@link #SCATTER} chart, this is the size of the
* symbol<</li>
* <li>If it is a {@link #BAR} chart, this is the width of the border<</li>
* </ul>
*
* @return the width hint
*/
int getWidth();
}