chart
Class Chart

java.lang.Object
  extended by chart.Chart
All Implemented Interfaces:
java.io.Serializable

public class Chart
extends java.lang.Object
implements java.io.Serializable

A serializable representation of all relevant settings for a Chart which is displayed on a ChartFrame.

The data that was imported by the user can be displayed on a Chart. The Chart is built by as many vertical Axes as Parameters are present in the underlying the DataSheet and each Axis represents one of these Parameters.

The Designs (or, in other words, rows of the data table) are represented by lines that connect points on the Axes. Each Design's line crosses each Axis exactly at the ordinate that corresponds to the value for the respective Parameter in the Design. This allows to display the whole DataSheet in just one Chart, irrespective of how many dimensions it has.

The Chart also provides interactivity through a pair of draggable Filters that are present on each Axis. Depending on the positions of these filters, certain Designs are filtered from the display. This means that they are either displayed in a different color or hidden completely.

See Also:
ChartFrame, Axis, Filter, Parameter, DataSheet, Design, Serialized Form

Field Summary
private  java.awt.Color activeDesignColor
          The active design color.
private  java.util.Vector<Axis> axes
          The axes on this Chart.
private  java.awt.Color backGroundColor
          The background color of this Chart.
private  DataSheet dataSheet
          The data sheet that is displayed in this Chart.
private  int designLabelFontSize
          The design label font size.
private  java.awt.Color filterColor
          The color in which the Filters are shown on this Chart.
private  java.awt.Color filteredDesignColor
          The filtered design color.
private  int filterHeight
          The height of the triangles that represent the filter in pixels.
private  int filterWidth
          The width of one half triangle that represents a filter in pixels.
private  java.awt.Point location
          The location of the ChartFrame on the screen.
(package private) static boolean printLog
          Flag to enable debug message printing for this class.
(package private) static long serialVersionUID
          The version tracking unique identifier for Serialization.
private  boolean showDesignIDs
          Specifies whether the design IDs next to the left-most Axis should be shown.
private  boolean showFilteredDesigns
          Switch that enables displaying filtered designs.
private  java.awt.Dimension size
          The size of this Chart.
private  int topMargin
          The top margin of the Chart.
 
Constructor Summary
Chart(DataSheet dataSheet, javax.swing.ProgressMonitor progressMonitor)
          Instantiates a new chart.
 
Method Summary
 void addAxis(Axis axis)
          Adds the axis.
 void addAxis(int index, Axis axis)
          Adds an Axis at the position index.
 void applyAllFilters()
          Apply all filters.
 void autofitAllAxes()
          Autofits all axes.
 void evaluateBoundsForAllDesigns()
          Evaluate Axis bounds for all designs.
 int getActiveAxisCount()
          Gets the active axis count.
 Axis getAxis(int index)
          Gets an Axis by its index.
 Axis getAxis(java.lang.String parameterName)
          Gets an Axis by its name.
 int getAxisCount()
          Gets the axis count.
 int getAxisMaxHeight()
          Gets the largest height of all Axis heights.
 int getAxisMaxWidth()
          Gets the largest width of all Axis widths.
 int getAxisTopPos()
          Gets the position in pixels of the top of the Axes of this Chart.
 java.awt.Color getBackGroundColor()
          Gets the back ground color.
 DataSheet getDataSheet()
          Gets the data sheet.
 java.awt.Color getDefaultDesignColor(boolean designActive)
          Gets the default design color.
 java.awt.Color getDesignColor(Design design, boolean designActive)
          Gets the design color.
 int getDesignLabelFontSize()
          Gets the design label font size.
 java.awt.Color getFilterColor()
          Gets the filter color.
 int getFilterHeight()
          Gets the filter height.
 int getFilterWidth()
          Gets the filter width.
 int getHeight()
          Determines the height of this Chart.
 java.awt.Point getLocation()
          Gets the location of this Chart on the Screen.
 int getMaxAxisLabelFontSize()
          Gets the largest Axis label font size on this Chart.
 java.awt.Dimension getSize()
          Gets the size of this Chart.
 int getTopMargin()
          Gets the top margin.
 int getWidth()
          Determines the width of this Chart.
 boolean isShowDesignIDs()
          Checks if design IDs should be shown.
 boolean isShowFilteredDesigns()
          Checks whether filtered designs should be shown.
private  void log(java.lang.String message)
          Prints debug information to stdout when printLog is set to true.
 void moveAxis(int oldIndex, int newIndex)
          Function to reorder the axes in the chart
 void removeAxis(int index)
          Removes the axis with index index.
 void removeAxis(java.lang.String parameterName)
          Removes the axis with name name.
 void resetDisplaySettingsToDefault()
          Reset display settings to default.
 void setActiveDesignColor(java.awt.Color activeDesignColor)
          Sets the active design color.
 void setAxisColor(java.awt.Color color)
          Sets the axis color.
 void setAxisHeight(int height)
          Sets the height of this Chart by setting the heigh of all Axes.
 void setAxisWidth(int width)
          Sets the axis width.
 void setBackGroundColor(java.awt.Color backGroundColor)
          Sets the back ground color.
 void setDataSheet(DataSheet dataSheet)
          Sets the data sheet.
 void setDesignLabelFontSize(int designLabelFontSize)
          Sets the design label font size.
 void setFilterColor(java.awt.Color filterColor)
          Sets the filter color.
 void setFilteredDesignColor(java.awt.Color filteredDesignColor)
          Sets the filtered design color.
 void setFilterHeight(int filterHeight)
          Sets the filter height.
 void setFilterWidth(int filterWidth)
          Sets the filter width.
 void setLocation(java.awt.Point location)
          Sets the location of this Chart on the Screen..
 void setShowDesignIDs(boolean showDesignIDs)
          Specifies whether design IDs should be shown.
 void setShowFilteredDesigns(boolean showFilteredDesigns)
          Specifies whether filtered designs should be shown.
 void setSize(java.awt.Dimension size)
          Sets the size of this Chart..
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
The version tracking unique identifier for Serialization.

See Also:
Constant Field Values

printLog

static final boolean printLog
Flag to enable debug message printing for this class.

See Also:
Constant Field Values

location

private java.awt.Point location
The location of the ChartFrame on the screen.


size

private java.awt.Dimension size
The size of this Chart.


dataSheet

private DataSheet dataSheet
The data sheet that is displayed in this Chart.

See Also:
DataSheet

topMargin

private int topMargin
The top margin of the Chart. specifies the distance from the top edge of the Chart to the top of the Axis labels.


axes

private java.util.Vector<Axis> axes
The axes on this Chart.

For each Parameter in the DataSheet there is exactly one Axis.


backGroundColor

private java.awt.Color backGroundColor
The background color of this Chart.


designLabelFontSize

private int designLabelFontSize
The design label font size.

The design IDs are shown as labels next to the left-most Axis. This field specifies the font size for these labels.


activeDesignColor

private java.awt.Color activeDesignColor
The active design color.

All Designs that are not filtered and do not belong to any Clusters are displayed in this Color. New Clusters are also given this Color by default.

See Also:
Design, Cluster

filteredDesignColor

private java.awt.Color filteredDesignColor
The filtered design color.

All Designs that are filtered are displayed in this Color. This is only relevant if showFilteredDesigns is true.

See Also:
Design

filterColor

private java.awt.Color filterColor
The color in which the Filters are shown on this Chart.


showDesignIDs

private boolean showDesignIDs
Specifies whether the design IDs next to the left-most Axis should be shown.


showFilteredDesigns

private boolean showFilteredDesigns
Switch that enables displaying filtered designs.

If this switch is true, designs are displayed in the Color specified by filteredDesignColor


filterHeight

private int filterHeight
The height of the triangles that represent the filter in pixels.


filterWidth

private int filterWidth
The width of one half triangle that represents a filter in pixels. In other words, the filter triangle will be twice as large as the value entered here.

Constructor Detail

Chart

public Chart(DataSheet dataSheet,
             javax.swing.ProgressMonitor progressMonitor)
Instantiates a new chart.

Parameters:
dataSheet - the data sheet
Method Detail

getWidth

public int getWidth()
Determines the width of this Chart.

Returns:
the width of this Chart

getHeight

public int getHeight()
Determines the height of this Chart.

Returns:
the height of this Chart

getAxisMaxHeight

public int getAxisMaxHeight()
Gets the largest height of all Axis heights.

Returns:
the largest height of all Axis heights

setAxisHeight

public void setAxisHeight(int height)
Sets the height of this Chart by setting the heigh of all Axes.

Parameters:
height - the height of this Chart by setting the heigh of all Axes..

getAxisMaxWidth

public int getAxisMaxWidth()
Gets the largest width of all Axis widths.

Returns:
the largest width of all Axis widths.

setAxisWidth

public void setAxisWidth(int width)
Sets the axis width.

Parameters:
width - the new axis width

setAxisColor

public void setAxisColor(java.awt.Color color)
Sets the axis color.

Parameters:
color - the new axis color

getAxisTopPos

public int getAxisTopPos()
Gets the position in pixels of the top of the Axes of this Chart.

Returns:
the position in pixels of the top of the Axes of this Chart.

getAxis

public Axis getAxis(int index)
Gets an Axis by its index.

Parameters:
index - the index
Returns:
the Axis with index index

getAxis

public Axis getAxis(java.lang.String parameterName)
Gets an Axis by its name.

Parameters:
parameterName - the parameter name
Returns:
the Axis

getMaxAxisLabelFontSize

public int getMaxAxisLabelFontSize()
Gets the largest Axis label font size on this Chart.

Returns:
the largest axis label font size on this Chart

getActiveAxisCount

public int getActiveAxisCount()
Gets the active axis count.

Returns:
the active axis count

getAxisCount

public int getAxisCount()
Gets the axis count.

Returns:
the axis count

addAxis

public void addAxis(Axis axis)
Adds the axis.

Parameters:
axis - the axis

addAxis

public void addAxis(int index,
                    Axis axis)
Adds an Axis at the position index.

Parameters:
index - the index where the Axis should be added
axis - the Axis to be added

removeAxis

public void removeAxis(int index)
Removes the axis with index index.

Parameters:
index - the index of the Axis to be removed

removeAxis

public void removeAxis(java.lang.String parameterName)
Removes the axis with name name.

Parameters:
parameterName - the name of the parameter for which the Axis should be removed

moveAxis

public void moveAxis(int oldIndex,
                     int newIndex)
Function to reorder the axes in the chart

Parameters:
oldIndex - the index of the axis to be moved
newIndex - the target index for the axis to be moved

getDataSheet

public DataSheet getDataSheet()
Gets the data sheet.

Returns:
the data sheet

setDataSheet

public void setDataSheet(DataSheet dataSheet)
Sets the data sheet.

Parameters:
dataSheet - the new data sheet

log

private void log(java.lang.String message)
Prints debug information to stdout when printLog is set to true.

Parameters:
message - the message

getDesignLabelFontSize

public int getDesignLabelFontSize()
Gets the design label font size.

Returns:
the design label font size

setDesignLabelFontSize

public void setDesignLabelFontSize(int designLabelFontSize)
Sets the design label font size.

Parameters:
designLabelFontSize - the new design label font size

getDesignColor

public java.awt.Color getDesignColor(Design design,
                                     boolean designActive)
Gets the design color.

Parameters:
design - the design
designActive - the design active
Returns:
the design color

getDefaultDesignColor

public java.awt.Color getDefaultDesignColor(boolean designActive)
Gets the default design color.

Parameters:
designActive - the design active
Returns:
the default design color

setActiveDesignColor

public void setActiveDesignColor(java.awt.Color activeDesignColor)
Sets the active design color.

Parameters:
activeDesignColor - the new active design color

setFilteredDesignColor

public void setFilteredDesignColor(java.awt.Color filteredDesignColor)
Sets the filtered design color.

Parameters:
filteredDesignColor - the new filtered design color

getBackGroundColor

public java.awt.Color getBackGroundColor()
Gets the back ground color.

Returns:
the back ground color

setBackGroundColor

public void setBackGroundColor(java.awt.Color backGroundColor)
Sets the back ground color.

Parameters:
backGroundColor - the new back ground color

isShowDesignIDs

public boolean isShowDesignIDs()
Checks if design IDs should be shown.

Returns:
true, if design IDs should be shown.

setShowDesignIDs

public void setShowDesignIDs(boolean showDesignIDs)
Specifies whether design IDs should be shown.

Parameters:
showDesignIDs - Specifies whether design IDs should be shown.

isShowFilteredDesigns

public boolean isShowFilteredDesigns()
Checks whether filtered designs should be shown.

Returns:
true, if filtered designs should be shown.

setShowFilteredDesigns

public void setShowFilteredDesigns(boolean showFilteredDesigns)
Specifies whether filtered designs should be shown.

Parameters:
showFilteredDesigns - specifies whether filtered designs should be shown.

getFilterColor

public java.awt.Color getFilterColor()
Gets the filter color.

Returns:
the filter color

setFilterColor

public void setFilterColor(java.awt.Color filterColor)
Sets the filter color.

Parameters:
filterColor - the new filter color

getTopMargin

public int getTopMargin()
Gets the top margin.

Returns:
the top margin

resetDisplaySettingsToDefault

public void resetDisplaySettingsToDefault()
Reset display settings to default.


getFilterHeight

public int getFilterHeight()
Gets the filter height.

Returns:
the filter height

setFilterHeight

public void setFilterHeight(int filterHeight)
Sets the filter height.

Parameters:
filterHeight - the new filter height

getFilterWidth

public int getFilterWidth()
Gets the filter width.

Returns:
the filter width

setFilterWidth

public void setFilterWidth(int filterWidth)
Sets the filter width.

Parameters:
filterWidth - the new filter width

applyAllFilters

public void applyAllFilters()
Apply all filters.


autofitAllAxes

public void autofitAllAxes()
Autofits all axes.


evaluateBoundsForAllDesigns

public void evaluateBoundsForAllDesigns()
Evaluate Axis bounds for all designs.

See Also:
DataSheet

getSize

public java.awt.Dimension getSize()
Gets the size of this Chart.

Returns:
the size of this Chart.

setSize

public void setSize(java.awt.Dimension size)
Sets the size of this Chart..

Parameters:
size - the new size of this Chart.

getLocation

public java.awt.Point getLocation()
Gets the location of this Chart on the Screen.

Returns:
the location of this Chart on the Screen.

setLocation

public void setLocation(java.awt.Point location)
Sets the location of this Chart on the Screen..

Parameters:
location - the new location of this Chart on the Screen.