Reference documentation
Public Member Functions | Protected Member Functions | List of all members
AxisChart Class Referenceabstract

The AxisChart class provides an abstract base for every chart view using axis. More...

Inheritance diagram for AxisChart:
AbstractChart AbstractItemView LinearChart RadialChart RadarChart

Public Member Functions

 AxisChart (QWidget *parent=0)
 Constructs an abstract Axis chart with the given parent.
 
 ~AxisChart ()
 Destructs the current object.
 
AbstractAxisaxis () const
 Returns the current Axis instance used by this view.
 
SerieFormat serieFormat (int column) const
 Return the SerieFormat used for the column.
 
void setAxis (AbstractAxis *axis)
 Sets the Axis use by the view to determine the item's positions.
 
void setSerieFormat (int column, SerieFormat style)
 Sets the given style to the given column. More...
 
- Public Member Functions inherited from AbstractChart
 AbstractChart (QWidget *parent=0)
 Initializes a chart view with the given parent. More...
 
 ~AbstractChart ()
 Destructs the object and clean the internal components.
 
virtual QModelIndex indexAt (const QPoint &point) const
 Returns the model index of the item at the viewport coordinates point.
 
ChartLegendlegend () const
 Returns the current ChartLegend used to paint the chart legend.
 
void setLegend (ChartLegend *legend)
 Sets the legend used to paint the chart legend. More...
 
void setTitle (const QString &title)
 Sets the title displayed at the bottom.
 
void setTitleFont (const QFont &font)
 Sets the QFont used to write the title. More...
 
const QFont & titleFont () const
 Returns the QFont used to write the title. More...
 
- Public Member Functions inherited from AbstractItemView
 AbstractItemView (QWidget *parent=0)
 Constructs an abstract item view with the given parent.
 
virtual QRectF itemRect (const QModelIndex &index) const
 Defines the outer bounds of the item as a rectangle. More...
 
virtual QRectF itemRect (int row, int column, const QModelIndex &parent=QModelIndex()) const
 This function overloads itemRect(). More...
 

Protected Member Functions

 AxisChart (AxisChartPrivate *d, QWidget *parent=0)
 Initializes the abstract object with the given parent.
 
virtual QList< int > calculateColumnsOrder () const
 Calculates the order in which the series (columns) should be drawn. More...
 
virtual void defineRects ()
 This pure virtual function defines the QRect used to to draw the different elements composing the view (series, legend, title, etc.).
 
virtual void paintChart (QPainter &)=0
 Paints the different parts of the chart (legend, title, axis, values, etc.).
 
virtual void paintSerieLegend (QPainter &painter, int serie, QPoint pos, int metricsH) const
 Paint the legend for the given column. More...
 
void scan ()
 Scans values in the model to find the minimum and the maximum. More...
 
- Protected Member Functions inherited from AbstractChart
void calculateLegendRect (const QRect &source)
 Calculates the rectangle in which the legend should be drawn.
 
virtual QPainterPath itemPath (const QModelIndex &index) const
 Returns the QPainterPath defining the item's shape.
 
virtual void process ()
 Analyzes the model to define the bounds and axis values. More...
 
virtual void updateRects ()=0
 Updates the regions used to paint each part of the chart (legend, axis, values, title, etc.). More...
 

Additional Inherited Members

- Public Slots inherited from AbstractChart
void updateValues ()
 Updates the displayed data in the viewport. More...
 
- Public Slots inherited from AbstractItemView
virtual void updateValues ()=0
 Updates the items in the item view. More...
 

Detailed Description

The AxisChart class provides an abstract base for every chart view using axis.

The AxisChart class provides the basic functionality for every axis chart view. It is a abstract class and cannot be instancied itself. An Axis chart is a chart using a coordinates system such as LinearChart and RadialChart.

See Also
Thistle::LinearChart & Thistle::RadialChart

Member Function Documentation

QList< int > calculateColumnsOrder ( ) const
protectedvirtual

Calculates the order in which the series (columns) should be drawn.

For example, in LinearChart, the columns with the type Thistle::Bar will be drawn at first to avoid to mask the others.

Reimplemented in LinearChart.

void paintSerieLegend ( QPainter &  painter,
int  serie,
QPoint  pos,
int  metricsH 
) const
protectedvirtual

Paint the legend for the given column.

The kind of legend should be defined by each view (linear and radial represent legend differently). The column legend is represented by a square colored with the pen and brush style and the column name.

Reimplemented in LinearChart.

void scan ( )
protectedvirtual

Scans values in the model to find the minimum and the maximum.

Returns the width needed to display the Y scale. If the values are greater than zero, the minimum is equal to 0. If the values are less than 0, the maximum is equal to 0. If a value is not a number (undefined, a string, etc.), she's considered as equal to 0.

Implements AbstractChart.

void setSerieFormat ( int  column,
SerieFormat  style 
)

Sets the given style to the given column.

The style defines the look and feel of a serie.