Class InstanceLinePaintlet

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.ShallowCopySupporter<adams.gui.visualization.core.Paintlet>, adams.core.SizeOfHandler, adams.gui.core.AntiAliasingSupporter, adams.gui.visualization.core.Paintlet, adams.gui.visualization.core.PaintletWithMarkers, Serializable
    Direct Known Subclasses:
    ReportColorInstancePaintlet

    public class InstanceLinePaintlet
    extends AbstractInstancePaintlet
    implements adams.gui.core.AntiAliasingSupporter, adams.gui.visualization.core.PaintletWithMarkers
    Paintlet for generating a line plot for Instance objects.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -stroke-thickness <float> (property: strokeThickness)
        The thickness of the stroke.
        default: 1.0
        minimum: 0.01
     
    -markers-extent <int> (property: markerExtent)
        The size of the markers in pixels.
        default: 7
        minimum: 0
     
    -markers-disabled <boolean> (property: markersDisabled)
        If set to true, the markers are disabled.
        default: false
     
    -always-show-markers <boolean> (property: alwaysShowMarkers)
        If set to true, the markers are always displayed, not just when zoomed in.
        default: true
     
    -anti-aliasing-enabled <boolean> (property: antiAliasingEnabled)
        If enabled, uses anti-aliasing for drawing lines.
        default: true
     
    Version:
    $Revision$
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  InstanceLinePaintlet.MarkerShape
      Enum for the marker shape to plot around the data points.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean m_AlwaysShowMarkers
      whether to show markers all the time.
      protected boolean m_AntiAliasingEnabled
      whether anti-aliasing is enabled.
      protected int m_MarkerExtent
      the maximum width/height of the shape to plot around the points (= data point marker), if there's enough space.
      protected boolean m_MarkersEnabled
      indicates whether marker shapes are painted or not.
      • Fields inherited from class adams.gui.visualization.core.AbstractStrokePaintlet

        m_StrokeThickness
      • Fields inherited from class adams.gui.visualization.core.AbstractPaintlet

        m_Enabled, m_Initializing, m_Panel, m_RepaintOnChange
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String alwaysShowMarkersTipText()
      Returns the tip text for this property.
      String antiAliasingEnabledTipText()
      Returns the tip text for this property.
      void defineOptions()
      Adds options to the internal list of options.
      protected void doPerformPaint​(Graphics g, adams.gui.event.PaintEvent.PaintMoment moment)
      The paint routine of the paintlet.
      protected void drawData​(Graphics g, Instance data, Color color, InstanceLinePaintlet.MarkerShape marker)
      Draws the data with the given color.
      boolean getAlwaysShowMarkers()
      Returns whether marker shapes are always drawn.
      Color getColor​(int index)
      Returns the color for the data with the given index.
      int getMarkerExtent()
      Returns the current marker extent (which is the width and height of the shape).
      protected InstanceLinePaintlet.MarkerShape getMarkerShape​(int index)
      Determines the shape to paint around the data points, based on the index of the data.
      String globalInfo()
      Returns a string describing the object.
      boolean isAntiAliasingEnabled()
      Returns whether anti-aliasing is used.
      boolean isMarkersDisabled()
      Returns whether marker shapes are disabled.
      String markerExtentTipText()
      Returns the tip text for this property.
      String markersDisabledTipText()
      Returns the tip text for this property.
      void setAlwaysShowMarkers​(boolean value)
      Sets whether to always draw markers.
      void setAntiAliasingEnabled​(boolean value)
      Sets whether to use anti-aliasing.
      void setMarkerExtent​(int value)
      Sets the extent (width and height of the shape around the plotted point).
      void setMarkersDisabled​(boolean value)
      Sets whether to draw markers or not.
      • Methods inherited from class adams.gui.visualization.container.AbstractDataContainerPaintlet

        getDataContainerPanel
      • Methods inherited from class adams.gui.visualization.core.AbstractStrokePaintlet

        applyStroke, getStrokeThickness, getStrokeWidth, performPaint, setStrokeThickness, strokeThicknessTipText
      • Methods inherited from class adams.gui.visualization.core.AbstractPaintlet

        canPaint, finishInit, forCommandLine, forName, getPaintlets, getPanel, getPlot, getRepaintOnChange, hasPanel, initialize, isEnabled, isInitializing, memberChanged, memberChanged, paint, repaint, setEnabled, setPanel, setPanel, setRepaintOnChange, shallowCopy, shallowCopy, updatePanel
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, destroy, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
    • Field Detail

      • m_MarkerExtent

        protected int m_MarkerExtent
        the maximum width/height of the shape to plot around the points (= data point marker), if there's enough space.
      • m_MarkersEnabled

        protected boolean m_MarkersEnabled
        indicates whether marker shapes are painted or not.
      • m_AlwaysShowMarkers

        protected boolean m_AlwaysShowMarkers
        whether to show markers all the time.
      • m_AntiAliasingEnabled

        protected boolean m_AntiAliasingEnabled
        whether anti-aliasing is enabled.
    • Constructor Detail

      • InstanceLinePaintlet

        public InstanceLinePaintlet()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.gui.visualization.core.AbstractStrokePaintlet
      • getColor

        public Color getColor​(int index)
        Returns the color for the data with the given index.
        Parameters:
        index - the index of the chromatogram
        Returns:
        the color for the chromatogram
      • isMarkersDisabled

        public boolean isMarkersDisabled()
        Returns whether marker shapes are disabled.
        Specified by:
        isMarkersDisabled in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        true if marker shapes are disabled
      • setMarkersDisabled

        public void setMarkersDisabled​(boolean value)
        Sets whether to draw markers or not.
        Specified by:
        setMarkersDisabled in interface adams.gui.visualization.core.PaintletWithMarkers
        Parameters:
        value - if true then marker shapes won't be drawn
      • markersDisabledTipText

        public String markersDisabledTipText()
        Returns the tip text for this property.
        Specified by:
        markersDisabledTipText in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • getAlwaysShowMarkers

        public boolean getAlwaysShowMarkers()
        Returns whether marker shapes are always drawn.
        Specified by:
        getAlwaysShowMarkers in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        true if marker shapes are always drawn, not just when zoomed in
      • setAlwaysShowMarkers

        public void setAlwaysShowMarkers​(boolean value)
        Sets whether to always draw markers.
        Specified by:
        setAlwaysShowMarkers in interface adams.gui.visualization.core.PaintletWithMarkers
        Parameters:
        value - if true then marker are always drawn, not just when zoomed in
      • alwaysShowMarkersTipText

        public String alwaysShowMarkersTipText()
        Returns the tip text for this property.
        Specified by:
        alwaysShowMarkersTipText in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setMarkerExtent

        public void setMarkerExtent​(int value)
        Sets the extent (width and height of the shape around the plotted point). 0 turns the plotting off. Should be an odd number for centering the shape.
        Specified by:
        setMarkerExtent in interface adams.gui.visualization.core.PaintletWithMarkers
        Parameters:
        value - the new extent
      • getMarkerExtent

        public int getMarkerExtent()
        Returns the current marker extent (which is the width and height of the shape).
        Specified by:
        getMarkerExtent in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        the current extent
      • markerExtentTipText

        public String markerExtentTipText()
        Returns the tip text for this property.
        Specified by:
        markerExtentTipText in interface adams.gui.visualization.core.PaintletWithMarkers
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAntiAliasingEnabled

        public void setAntiAliasingEnabled​(boolean value)
        Sets whether to use anti-aliasing.
        Specified by:
        setAntiAliasingEnabled in interface adams.gui.core.AntiAliasingSupporter
        Parameters:
        value - if true then anti-aliasing is used
      • isAntiAliasingEnabled

        public boolean isAntiAliasingEnabled()
        Returns whether anti-aliasing is used.
        Specified by:
        isAntiAliasingEnabled in interface adams.gui.core.AntiAliasingSupporter
        Returns:
        true if anti-aliasing is used
      • antiAliasingEnabledTipText

        public String antiAliasingEnabledTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • drawData

        protected void drawData​(Graphics g,
                                Instance data,
                                Color color,
                                InstanceLinePaintlet.MarkerShape marker)
        Draws the data with the given color.
        Parameters:
        g - the graphics context
        data - the data to draw
        color - the color to draw in
        marker - the type of marker to draw
      • getMarkerShape

        protected InstanceLinePaintlet.MarkerShape getMarkerShape​(int index)
        Determines the shape to paint around the data points, based on the index of the data.
        Parameters:
        index - the index of the spectrum
        Returns:
        the marker shape
      • doPerformPaint

        protected void doPerformPaint​(Graphics g,
                                      adams.gui.event.PaintEvent.PaintMoment moment)
        The paint routine of the paintlet.
        Specified by:
        doPerformPaint in class adams.gui.visualization.core.AbstractStrokePaintlet
        Parameters:
        g - the graphics context to use for painting
        moment - what PaintEvent.PaintMoment is currently being painted