org.swtchart
Class Chart

java.lang.Object
  extended by Composite
      extended by org.swtchart.Chart

public class Chart
extends Composite

A chart which are composed of title, legend, axes and plot area.


Constructor Summary
Chart(Composite parent, int style)
          Constructor.
 
Method Summary
 void dispose()
           
 void enableCompress(boolean enabled)
          Enables compressing series.
 IAxisSet getAxisSet()
          Gets the set of axes.
 Color getBackgroundInPlotArea()
          Gets the background color in plot area.
 ILegend getLegend()
          Gets the legend.
 int getOrientation()
          Gets the state of chart orientation.
 Composite getPlotArea()
          Gets the plot area.
 ISeriesSet getSeriesSet()
          Gets the set of series.
 ITitle getTitle()
          Gets the chart title.
 void handleEvent(Event event)
           
 boolean isCompressEnabled()
          Gets the state indicating if compressing series is enabled.
 boolean isUpdateSuspended()
          Gets the state indicating if the update of chart appearance is suspended.
 void redraw()
           
 void renderOffscreenImage(Image image)
          Renders off-screen image.
 void save(java.lang.String filename, int format)
          Saves to file with given format.
 void setBackground(Color color)
           
 void setBackgroundInPlotArea(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 update()
           
 void updateLayout()
          Updates the layout of chart elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Chart

public Chart(Composite parent,
             int style)
Constructor.

Parameters:
parent - the parent composite on which chart is placed
style - the style of widget to construct
Method Detail

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 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(Color color)

getBackgroundInPlotArea

public 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(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:
java.lang.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.

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.

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(Event event)

updateLayout

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


update

public void update()

dispose

public void dispose()

redraw

public void redraw()

save

public void save(java.lang.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(Image image)
Renders off-screen image.

Parameters:
image - The image to render off-screen