| /********************************************************************** |
| * 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; |
| } |
| } |