Class Legend

java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.swtchart.internal.Legend
All Implemented Interfaces:
EventListener, org.eclipse.swt.events.PaintListener, org.eclipse.swt.graphics.Drawable, org.eclipse.swt.internal.SWTEventListener, ILegend

public class Legend extends org.eclipse.swt.widgets.Composite implements ILegend, org.eclipse.swt.events.PaintListener
A legend for chart.
  • Field Summary

    Fields inherited from class org.eclipse.swt.widgets.Composite

    embeddedHandle

    Fields inherited from class org.eclipse.swt.widgets.Widget

    handle
  • Constructor Summary

    Constructors
    Constructor
    Description
    Legend(Chart chart, int style)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected void
    drawSymbol(org.eclipse.swt.graphics.GC gc, Series series, org.eclipse.swt.graphics.Rectangle r)
    Draws the symbol of series.
    org.eclipse.swt.graphics.Rectangle
    getBounds(String seriesId)
    Gets the rectangle associated with the given series id on legend.
    int
    Gets the position of legend.
    boolean
    Gets the visibility state.
    void
    paintControl(org.eclipse.swt.events.PaintEvent e)
     
    void
    setBackground(org.eclipse.swt.graphics.Color color)
    Sets the background color of legend.
    void
    setFont(org.eclipse.swt.graphics.Font font)
    Sets the font.
    void
    setForeground(org.eclipse.swt.graphics.Color color)
    Sets the foreground color of legend.
    void
    setPosition(int value)
    Sets the position of legend.
    void
    setVisible(boolean visible)
    Sets legend visible.
    void
    Update the layout data.

    Methods inherited from class org.eclipse.swt.widgets.Composite

    changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList

    Methods inherited from class org.eclipse.swt.widgets.Scrollable

    computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar

    Methods inherited from class org.eclipse.swt.widgets.Control

    addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, isEnabled, isFocusControl, isReparentable, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update

    Methods inherited from class org.eclipse.swt.widgets.Widget

    addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.swtchart.ILegend

    getBackground, getFont, getForeground
  • Constructor Details

    • Legend

      public Legend(Chart chart, int style)
      Constructor.
      Parameters:
      chart - the chart
      style - the style
  • Method Details

    • setVisible

      public void setVisible(boolean visible)
      Description copied from interface: ILegend
      Sets legend visible.
      Specified by:
      setVisible in interface ILegend
      Overrides:
      setVisible in class org.eclipse.swt.widgets.Control
      Parameters:
      visible - the visibility state
    • isVisible

      public boolean isVisible()
      Description copied from interface: ILegend
      Gets the visibility state.
      Specified by:
      isVisible in interface ILegend
      Overrides:
      isVisible in class org.eclipse.swt.widgets.Control
      Returns:
      true if legend is visible
    • setFont

      public void setFont(org.eclipse.swt.graphics.Font font)
      Description copied from interface: ILegend
      Sets the font.
      Specified by:
      setFont in interface ILegend
      Overrides:
      setFont in class org.eclipse.swt.widgets.Control
      Parameters:
      font - the font
    • setForeground

      public void setForeground(org.eclipse.swt.graphics.Color color)
      Description copied from interface: ILegend
      Sets the foreground color of legend.
      Specified by:
      setForeground in interface ILegend
      Overrides:
      setForeground in class org.eclipse.swt.widgets.Control
      Parameters:
      color - the foreground color
    • setBackground

      public void setBackground(org.eclipse.swt.graphics.Color color)
      Description copied from interface: ILegend
      Sets the background color of legend.
      Specified by:
      setBackground in interface ILegend
      Overrides:
      setBackground in class org.eclipse.swt.widgets.Control
      Parameters:
      color - the background color
    • getPosition

      public int getPosition()
      Description copied from interface: ILegend
      Gets the position of legend.
      Specified by:
      getPosition in interface ILegend
      Returns:
      the position of legend.
    • setPosition

      public void setPosition(int value)
      Description copied from interface: ILegend
      Sets the position of legend. If the position is SWT.LEFT or SWT.RIGHT, the orientation of series on legend will be vertical. If the position is SWT.TOP or SWT.BOTTOM, the orientation will be horizontal.
      Specified by:
      setPosition in interface ILegend
      Parameters:
      value - the position of legend that can be SWT.LEFT, SWT.RIGHT, SWT.TOP or SWT.BOTTOM.
    • getBounds

      public org.eclipse.swt.graphics.Rectangle getBounds(String seriesId)
      Description copied from interface: ILegend
      Gets the rectangle associated with the given series id on legend. This method is typically used for mouse listener to check whether mouse cursor is on legend for a certain series.

      Mouse listener can be added by casting ILegend to Control.

       Control legend = (Control) chart.getLegend();
       legend.addMouseListener(...);
       
      Specified by:
      getBounds in interface ILegend
      Parameters:
      seriesId - the series id
      Returns:
      the rectangle associated with the given series id in pixels.
    • dispose

      public void dispose()
      Overrides:
      dispose in class org.eclipse.swt.widgets.Widget
    • updateLayoutData

      public void updateLayoutData()
      Update the layout data.
    • drawSymbol

      protected void drawSymbol(org.eclipse.swt.graphics.GC gc, Series series, org.eclipse.swt.graphics.Rectangle r)
      Draws the symbol of series.
      Parameters:
      gc - the graphics context
      series - the series
      r - the rectangle to draw the symbol of series
    • paintControl

      public void paintControl(org.eclipse.swt.events.PaintEvent e)
      Specified by:
      paintControl in interface org.eclipse.swt.events.PaintListener