Package org.swtchart

Class Chart

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.Chart
All Implemented Interfaces:
org.eclipse.swt.graphics.Drawable, org.eclipse.swt.widgets.Listener

public class Chart extends org.eclipse.swt.widgets.Composite implements org.eclipse.swt.widgets.Listener
A chart which are composed of title, legend, axes and plot area.
  • 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
    Chart(org.eclipse.swt.widgets.Composite parent, int style)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    enableCompress(boolean enabled)
    Enables compressing series.
    Gets the set of axes.
    org.eclipse.swt.graphics.Color
    Gets the background color in plot area.
    Gets the legend.
    int
    Gets the state of chart orientation.
    org.eclipse.swt.widgets.Composite
    Gets the plot area.
    Gets the set of series.
    Gets the chart title.
    void
    handleEvent(org.eclipse.swt.widgets.Event event)
     
    boolean
    Gets the state indicating if compressing series is enabled.
    boolean
    Gets the state indicating if the update of chart appearance is suspended.
    void
     
    void
    renderOffscreenImage(org.eclipse.swt.graphics.Image image)
    Renders off-screen image.
    void
    save(String filename, int format)
    Saves to file with given format.
    void
    setBackground(org.eclipse.swt.graphics.Color color)
     
    void
    setBackgroundInPlotArea(org.eclipse.swt.graphics.Color color)
    Sets the background color in plot area.
    void
    setOrientation(int orientation)
    Sets the state of chart orientation.
    void
    suspendUpdate(boolean suspend)
    Suspends the update of chart appearance.
    void
     
    void
    Updates the layout of chart elements.

    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, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse

    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
  • Constructor Details

    • Chart

      public Chart(org.eclipse.swt.widgets.Composite parent, int style)
      Constructor.
      Parameters:
      parent - the parent composite on which chart is placed
      style - the style of widget to construct
  • Method Details

    • getTitle

      public ITitle getTitle()
      Gets the chart title.
      Returns:
      the chart title
    • getLegend

      public ILegend getLegend()
      Gets the legend.
      Returns:
      the legend
    • getAxisSet

      public IAxisSet getAxisSet()
      Gets the set of axes.
      Returns:
      the set of axes
    • getPlotArea

      public org.eclipse.swt.widgets.Composite getPlotArea()
      Gets the plot area.
      Returns:
      the plot area
    • getSeriesSet

      public ISeriesSet getSeriesSet()
      Gets the set of series.
      Returns:
      the set of series
    • setBackground

      public void setBackground(org.eclipse.swt.graphics.Color color)
      Overrides:
      setBackground in class org.eclipse.swt.widgets.Control
    • getBackgroundInPlotArea

      public org.eclipse.swt.graphics.Color getBackgroundInPlotArea()
      Gets the background color in plot area. This method is identical with getPlotArea().getBackground().
      Returns:
      the background color in plot area
    • setBackgroundInPlotArea

      public void setBackgroundInPlotArea(org.eclipse.swt.graphics.Color color)
      Sets the background color in plot area.
      Parameters:
      color - the background color in plot area. If null is given, default background color will be set.
      Throws:
      IllegalArgumentException - if given color is disposed
    • setOrientation

      public void setOrientation(int orientation)
      Sets the state of chart orientation. The horizontal orientation means that X axis is horizontal as usual, while the vertical orientation means that Y axis is horizontal.
      Overrides:
      setOrientation in class org.eclipse.swt.widgets.Control
      Parameters:
      orientation - the orientation which can be SWT.HORIZONTAL or SWT.VERTICAL
    • getOrientation

      public int getOrientation()
      Gets the state of chart orientation. The horizontal orientation means that X axis is horizontal as usual, while the vertical orientation means that Y axis is horizontal.
      Overrides:
      getOrientation in class org.eclipse.swt.widgets.Control
      Returns:
      the orientation which can be SWT.HORIZONTAL or SWT.VERTICAL
    • enableCompress

      public void enableCompress(boolean enabled)
      Enables compressing series. By default, compressing series is enabled, and normally there should be no usecase to disable it. However, if you suspect that something is wrong in compressing series, you can disable it to isolate the issue.
      Parameters:
      enabled - true if enabling compressing series
    • isCompressEnabled

      public boolean isCompressEnabled()
      Gets the state indicating if compressing series is enabled.
      Returns:
      true if compressing series is enabled
    • suspendUpdate

      public void suspendUpdate(boolean suspend)
      Suspends the update of chart appearance.

      By default, when the chart model is changed (e.g. adding new series or changing chart properties), the chart appearance is updated accordingly.

      However, when doing a lot of changes in the chart model at once, it is inefficient that the update happens many times unnecessarily. In this case, you may want to defer the update until completing whole model changes in order to have better performance.

      For example, suppose there is a chart having a large number of series, the following example code disables the update during changing the model.

       try {
           // suspend update
           chart.suspendUpdate(true);
       
           // do some changes for a large number of series
           for (ISeries series : chart.getSeriesSet().getSeries()) {
               series.enableStack(true);
           }
       } finally {
           // resume update
           chart.suspendUpdate(false);
       }
       
      Note that the update has to be resumed right after completing the model changes in order to avoid showing an incompletely updated chart.
      Parameters:
      suspend - true to suspend the update of chart appearance
    • isUpdateSuspended

      public boolean isUpdateSuspended()
      Gets the state indicating if the update of chart appearance is suspended.
      Returns:
      true if the update of chart appearance is suspended
    • handleEvent

      public void handleEvent(org.eclipse.swt.widgets.Event event)
      Specified by:
      handleEvent in interface org.eclipse.swt.widgets.Listener
    • updateLayout

      public void updateLayout()
      Updates the layout of chart elements.
    • update

      public void update()
      Overrides:
      update in class org.eclipse.swt.widgets.Control
    • dispose

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

      public void redraw()
      Overrides:
      redraw in class org.eclipse.swt.widgets.Control
    • save

      public void save(String filename, int format)
      Saves to file with given format.
      Parameters:
      filename - the file name
      format - the format (SWT.IMAGE_*). The supported formats depend on OS.
    • renderOffscreenImage

      public void renderOffscreenImage(org.eclipse.swt.graphics.Image image)
      Renders off-screen image.
      Parameters:
      image - The image to render off-screen