blob: 290fd4b91788d297688db1f9b950595aa4e57b53 [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
**********************************************************************/
package org.eclipse.tracecompass.tmf.core.presentation;
/**
* This represents the appearance of a Y series for a XY chart. It contains
* information about the name, type (ex. Bar, Line, Scatter), the style (ex.
* Dot, Dash, Solid) and the color of the Y Series. There is no information
* about the data.
*
* @author Yonni Chen
* @since 4.0
*/
public interface IYAppearance {
/**
* This contains strings defining a series type. It could be for example bar,
* line, scatter, etc.
*
* @author Yonni Chen
*/
public final class Type {
/**
* Line series
*/
public static final String LINE = "line"; //$NON-NLS-1$
/**
* Area series
*/
public static final String AREA = "area"; //$NON-NLS-1$
/**
* Scatter series
*/
public static final String SCATTER = "scatter"; //$NON-NLS-1$
/**
* Bar series
*/
public static final String BAR = "bar"; //$NON-NLS-1$
/**
* Constructor
*/
private Type() {
// do nothing
}
}
/**
* This contains strings defining a series line style. It could be for example
* solid, dash, dot, etc.
*
* @author Yonni Chen
*/
public final class Style {
/**
* No line
*/
public static final String NONE = "NONE"; //$NON-NLS-1$
/**
* Solid line
*/
public static final String SOLID = "SOLID"; //$NON-NLS-1$
/**
* Dotted line
*/
public static final String DOT = "DOT"; //$NON-NLS-1$
/**
* Dashed line
*/
public static final String DASH = "DASH"; //$NON-NLS-1$
/**
* Dashed Dot (-.-.-.-) line
*/
public static final String DASHDOT = "DASHDOT"; //$NON-NLS-1$
/**
* Dashed Dot Dot (-..-..-..) line
*/
public static final String DASHDOTDOT = "DASHDOTDOT"; //$NON-NLS-1$
/**
* Constructor
*/
private Style() {
// do nothing
}
}
/**
* Symbol styles, contains strings defining potential appearances of a dot in a
* chart.
*
* @author Matthew Khouzam
* @since 4.1
*/
public final class SymbolStyle {
/** No tick */
public static final String NONE = "NONE"; //$NON-NLS-1$
/** Diamond tick */
public static final String DIAMOND = "DIAMOND"; //$NON-NLS-1$
/** Circle tick */
public static final String CIRCLE = "CIRCLE"; //$NON-NLS-1$
/** Square tick */
public static final String SQUARE = "SQUARE"; //$NON-NLS-1$
/** triangle tick */
public static final String TRIANGLE = "TRIANGLE"; //$NON-NLS-1$
/** inverted triangle */
public static final String INVERTED_TRIANGLE = "INVERTED_TRIANGLE"; //$NON-NLS-1$
/** st andrews cross, like an X */
public static final String CROSS = "CROSS"; //$NON-NLS-1$
/** Plus tick */
public static final String PLUS = "PLUS"; //$NON-NLS-1$
/** Constructor */
private SymbolStyle() {
// do nothing
}
}
/**
* Gets the Y series name
*
* @return the name of the Y serie
*/
String getName();
/**
* Gets the Y series line style. Serie style can be DOT, DOTDOT, DASH, etc.
*
* @return the style of the Y serie
*/
String getStyle();
/**
* Gets the Y serie color
*
* @return the color of the Y serie
*/
RGBAColor getColor();
/**
* Gets Y serie type. Serie type define the type of chart : Bar, Line, Scatter,
* etc.
*
* @return the type of the Y serie
*/
String getType();
/**
* Gets Y serie width.
*
* @return the width of the Y serie
*/
int getWidth();
/**
* Symbol Style. Used for ticks. Styles type define the type of ticks for actual
* points. Ticks can be:
* <ul>
* <li>{@link SymbolStyle#CIRCLE}</li>
* <li>{@link SymbolStyle#CROSS}</li>
* <li>{@link SymbolStyle#DIAMOND}</li>
* <li>{@link SymbolStyle#INVERTED_TRIANGLE}</li>
* <li>{@link SymbolStyle#TRIANGLE}</li>
* <li>{@link SymbolStyle#PLUS}</li>
* <li>{@link SymbolStyle#SQUARE}</li>
* </ul>
*
* If the tick is {@link SymbolStyle#NONE}, no tick shall be displayed.
*
* @return the appearance
* @since 4.1
*/
default String getSymbolStyle() {
return SymbolStyle.NONE;
}
/**
* Get the symbol size
*
* @return the size of the symbol in pixels
* @since 4.1
*/
default int getSymbolSize() {
return 3;
}
}