KD Chart 2  [rev.2.7]
Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
KDChart::TernaryAxis Class Reference

The class for ternary axes. More...

#include <KDChartTernaryAxis.h>

Inheritance diagram for KDChart::TernaryAxis:
Inheritance graph
[legend]
Collaboration diagram for KDChart::TernaryAxis:
Collaboration graph
[legend]

Public Slots

void update ()
 

Signals

void coordinateSystemChanged ()
 
void positionChanged (AbstractArea *)
 

Public Member Functions

void alignToReferencePoint (const RelativePosition &position)
 
BackgroundAttributes backgroundAttributes () const
 
virtual int bottomOverlap (bool doNotRecalculate=false) const
 This is called at layout time by KDChart:AutoSpacerLayoutItem::sizeHint(). More...
 
bool compare (const AbstractAreaBase *other) const
 Returns true if both areas have the same settings. More...
 
bool compare (const AbstractAxis *other) const
 Returns true if both axes have the same settings. More...
 
virtual void connectSignals ()
 Wireing the signal/slot connections. More...
 
const AbstractCoordinatePlanecoordinatePlane () const
 Convenience function, returns the coordinate plane, in which this axis is used. More...
 
void createObserver (AbstractDiagram *diagram)
 
virtual const QString customizedLabel (const QString &label) const
 Reimplement this method if you want to adjust axis labels before they are printed. More...
 
void deleteObserver (AbstractDiagram *diagram)
 
const AbstractDiagramdiagram () const
 
Qt::Orientations expandingDirections () const override
 
FrameAttributes frameAttributes () const
 
QRect geometry () const override
 
void getFrameLeadings (int &left, int &top, int &right, int &bottom) const
 
bool hasDefaultTitleTextAttributes () const
 
bool isEmpty () const override
 
QStringList labels () const
 Returns a list of strings, that are used as axis labels, as set via setLabels. More...
 
virtual int leftOverlap (bool doNotRecalculate=false) const
 This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint(). More...
 
QSize maximumSize () const override
 
QSize minimumSize () const override
 
bool observedBy (AbstractDiagram *diagram) const
 
void paint (QPainter *) override
 
void paintAll (QPainter &) override
 Call paintAll, if you want the background and the frame to be drawn before the normal paint() is invoked automatically. More...
 
virtual void paintBackground (QPainter &painter, const QRect &rectangle)
 
void paintCtx (PaintContext *) override
 Default impl: Paint the complete item using its layouted position and size. More...
 
virtual void paintFrame (QPainter &painter, const QRect &rectangle)
 
virtual void paintIntoRect (QPainter &painter, const QRect &rect)
 Draws the background and frame, then calls paint(). More...
 
QLayout * parentLayout ()
 
virtual const Position position () const
 
void removeFromParentLayout ()
 
QPair< QSizeF, QSizeF > requiredMargins () const
 
void resetTitleTextAttributes ()
 
virtual int rightOverlap (bool doNotRecalculate=false) const
 This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint(). More...
 
RulerAttributes rulerAttributes () const
 Returns the attributes to be used for painting the rulers. More...
 
void setBackgroundAttributes (const BackgroundAttributes &a)
 
void setFrameAttributes (const FrameAttributes &a)
 
void setGeometry (const QRect &rect) override
 
void setLabels (const QStringList &list)
 Use this to specify your own set of strings, to be used as axis labels. More...
 
void setParentLayout (QLayout *lay)
 
virtual void setParentWidget (QWidget *widget)
 Inform the item about its widget: This enables the item, to trigger that widget's update, whenever the size of the item's contents has changed. More...
 
virtual void setPosition (Position p)
 
void setRulerAttributes (const RulerAttributes &a)
 Use this to specify the attributes used to paint the axis ruler. More...
 
void setShortLabels (const QStringList &list)
 Use this to specify your own set of strings, to be used as axis labels, in case the normal labels are too long. More...
 
void setTextAttributes (const TextAttributes &a)
 Use this to specify the text attributes to be used for axis labels. More...
 
void setTitleText (const QString &text)
 
void setTitleTextAttributes (const TextAttributes &a)
 
QStringList shortLabels () const
 Returns a list of strings, that are used as axis labels, as set via setShortLabels. More...
 
QSize sizeHint () const override
 
virtual void sizeHintChanged () const
 Report changed size hint: ask the parent widget to recalculate the layout. More...
 
 TernaryAxis (AbstractTernaryDiagram *diagram=0)
 
TextAttributes textAttributes () const
 Returns the text attributes to be used for axis labels. More...
 
QString titleText () const
 
TextAttributes titleTextAttributes () const
 
virtual int topOverlap (bool doNotRecalculate=false) const
 This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint(). More...
 
 ~TernaryAxis () override
 

Static Public Member Functions

static void paintBackgroundAttributes (QPainter &painter, const QRect &rectangle, const KDChart::BackgroundAttributes &attributes)
 
static void paintFrameAttributes (QPainter &painter, const QRect &rectangle, const KDChart::FrameAttributes &attributes)
 

Protected Slots

virtual void delayedInit ()
 called for initializing after the c'tor has completed More...
 

Protected Member Functions

QRect areaGeometry () const override
 
QRect innerRect () const
 
void positionHasChanged () override
 

Protected Attributes

QWidgetmParent
 
QLayout * mParentLayout
 

Detailed Description

The class for ternary axes.

Definition at line 40 of file KDChartTernaryAxis.h.

Constructor & Destructor Documentation

TernaryAxis::TernaryAxis ( AbstractTernaryDiagram diagram = 0)
explicit
TernaryAxis::~TernaryAxis ( )
override

Definition at line 56 of file KDChartTernaryAxis.cpp.

Member Function Documentation

void AbstractAreaBase::alignToReferencePoint ( const RelativePosition position)
inherited

Definition at line 81 of file KDChartAbstractAreaBase.cpp.

QRect AbstractArea::areaGeometry ( ) const
overrideprotectedvirtualinherited
BackgroundAttributes AbstractAreaBase::backgroundAttributes ( ) const
inherited

Definition at line 111 of file KDChartAbstractAreaBase.cpp.

References d.

Referenced by KDChart::AbstractAreaBase::compare(), and updateCommonBrush().

int AbstractArea::bottomOverlap ( bool  doNotRecalculate = false) const
virtualinherited

This is called at layout time by KDChart:AutoSpacerLayoutItem::sizeHint().

The method triggers AbstractArea::sizeHint() to find out the amount of overlap at the bottom edge of the area.

Note
The default implementation is not using any caching, it might make sense to implement a more sophisticated solution for derived classes that have complex work to do in sizeHint(). All we have here is a primitive flag to be set by the caller if it is sure that no sizeHint() needs to be called.

Definition at line 98 of file KDChartAbstractArea.cpp.

References d.

Referenced by KDChart::AutoSpacerLayoutItem::sizeHint().

bool AbstractAreaBase::compare ( const AbstractAreaBase other) const
inherited

Returns true if both areas have the same settings.

Definition at line 71 of file KDChartAbstractAreaBase.cpp.

References KDChart::AbstractAreaBase::backgroundAttributes(), and KDChart::AbstractAreaBase::frameAttributes().

Referenced by KDChart::Legend::compare().

bool AbstractAxis::compare ( const AbstractAxis other) const
inherited
void AbstractAxis::connectSignals ( )
virtualinherited

Wireing the signal/slot connections.

This method gets called automatically, each time, when you assign the axis to a diagram, either by passing a diagram* to the c'tor, or by calling the diagram's setAxis method, resp.

If overwriting this method in derived classes, make sure to call this base method AbstractAxis::connectSignals(), so your axis gets connected to the diagram's built-in signals.

See also
AbstractCartesianDiagram::addAxis()

Definition at line 178 of file KDChartAbstractAxis.cpp.

References KDChart::AbstractAxis::coordinateSystemChanged(), and d.

const AbstractCoordinatePlane * AbstractAxis::coordinatePlane ( ) const
inherited

Convenience function, returns the coordinate plane, in which this axis is used.

If the axis is not used in a coordinate plane, the return value is Zero.

Definition at line 242 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::CartesianCoordinatePlane::sharedAxisMasterPlane().

void KDChart::AbstractAxis::coordinateSystemChanged ( )
signalinherited
void AbstractAxis::createObserver ( AbstractDiagram diagram)
inherited
const QString AbstractAxis::customizedLabel ( const QString &  label) const
virtualinherited

Reimplement this method if you want to adjust axis labels before they are printed.

KD Chart is calling this method immediately before drawing the text, this means: What you return here will be drawn without further modifications.

Parameters
labelThe text of the label as KD Chart has calculated it automatically (or as it was taken from a QStringList provided by you, resp.)
Note
If you reimplement this method in a subclass of KDChartCartesianAxis, and your reimplementation's return value depends on data other than label (so KDChart will not know when it changes), you must manually ensure that layouts are adapted to any changed sizes of the axis labels. To do that, call KDChartCartesianAxis::layoutPlanes() from your reimplementation when you know that the external data changed and it will change label sizes - or when you cannot exclude that.
Returns
The text to be drawn. By default this is the same as label.

Definition at line 162 of file KDChartAbstractAxis.cpp.

Referenced by KDChart::LeveyJenningsAxis::paintAsOrdinate(), and KDChart::CartesianAxis::paintCtx().

void AbstractAxis::delayedInit ( )
protectedvirtualslotinherited

called for initializing after the c'tor has completed

Definition at line 138 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::AbstractAxis::AbstractAxis().

void AbstractAxis::deleteObserver ( AbstractDiagram diagram)
inherited
const AbstractDiagram * KDChart::AbstractAxis::diagram ( ) const
inherited
Qt::Orientations TernaryAxis::expandingDirections ( ) const
override

Definition at line 123 of file KDChartTernaryAxis.cpp.

FrameAttributes AbstractAreaBase::frameAttributes ( ) const
inherited
QRect TernaryAxis::geometry ( ) const
overridevirtual

Implements KDChart::AbstractAxis.

Definition at line 97 of file KDChartTernaryAxis.cpp.

void AbstractAreaBase::getFrameLeadings ( int &  left,
int &  top,
int &  right,
int &  bottom 
) const
inherited
bool TernaryAxis::hasDefaultTitleTextAttributes ( ) const
QRect AbstractAreaBase::innerRect ( ) const
protectedinherited
bool TernaryAxis::isEmpty ( ) const
override

Definition at line 91 of file KDChartTernaryAxis.cpp.

QStringList AbstractAxis::labels ( ) const
inherited

Returns a list of strings, that are used as axis labels, as set via setLabels.

See also
setLabels

Definition at line 223 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::AbstractAxis::compare(), KDChart::LeveyJenningsAxis::paintAsOrdinate(), paintCtx(), and KDChart::LeveyJenningsAxis::~LeveyJenningsAxis().

int AbstractArea::leftOverlap ( bool  doNotRecalculate = false) const
virtualinherited

This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint().

The method triggers AbstractArea::sizeHint() to find out the amount of overlap at the left edge of the area.

Note
The default implementation is not using any caching, it might make sense to implement a more sophisticated solution for derived classes that have complex work to do in sizeHint(). All we have here is a primitive flag to be set by the caller if it is sure that no sizeHint() needs to be called.

Definition at line 74 of file KDChartAbstractArea.cpp.

References d.

Referenced by KDChart::AutoSpacerLayoutItem::sizeHint().

QSize TernaryAxis::maximumSize ( ) const
override

Definition at line 113 of file KDChartTernaryAxis.cpp.

QSize TernaryAxis::minimumSize ( ) const
override

Definition at line 107 of file KDChartTernaryAxis.cpp.

bool KDChart::AbstractAxis::observedBy ( AbstractDiagram diagram) const
inherited

Definition at line 254 of file KDChartAbstractAxis.cpp.

References d.

void TernaryAxis::paint ( QPainter *  )
overridevirtual

Implements KDChart::AbstractLayoutItem.

Definition at line 67 of file KDChartTernaryAxis.cpp.

void TernaryAxis::paintAll ( QPainter &  painter)
overridevirtual

Call paintAll, if you want the background and the frame to be drawn before the normal paint() is invoked automatically.

Reimplemented from KDChart::AbstractArea.

Definition at line 62 of file KDChartTernaryAxis.cpp.

void AbstractAreaBase::paintBackground ( QPainter &  painter,
const QRect &  rectangle 
)
virtualinherited
void AbstractAreaBase::paintBackgroundAttributes ( QPainter &  painter,
const QRect &  rectangle,
const KDChart::BackgroundAttributes attributes 
)
staticinherited
void TernaryAxis::paintCtx ( PaintContext context)
overridevirtual
void AbstractAreaBase::paintFrame ( QPainter &  painter,
const QRect &  rectangle 
)
virtualinherited
void AbstractAreaBase::paintFrameAttributes ( QPainter &  painter,
const QRect &  rectangle,
const KDChart::FrameAttributes attributes 
)
staticinherited
void AbstractArea::paintIntoRect ( QPainter &  painter,
const QRect &  rect 
)
virtualinherited

Draws the background and frame, then calls paint().

In most cases there is no need to overwrite this method in a derived class, but you would overwrite AbstractLayoutItem::paint() instead.

Definition at line 108 of file KDChartAbstractArea.cpp.

References KDChart::AbstractArea::paintAll().

QLayout* KDChart::AbstractLayoutItem::parentLayout ( )
inherited

Definition at line 77 of file KDChartLayoutItems.h.

const Position TernaryAxis::position ( ) const
virtual
void KDChart::AbstractArea::positionChanged ( AbstractArea )
signalinherited
void AbstractArea::positionHasChanged ( )
overrideprotectedvirtualinherited

Reimplemented from KDChart::AbstractAreaBase.

Definition at line 156 of file KDChartAbstractArea.cpp.

References KDChart::AbstractArea::positionChanged().

void KDChart::AbstractLayoutItem::removeFromParentLayout ( )
inherited
QPair< QSizeF, QSizeF > TernaryAxis::requiredMargins ( ) const
void TernaryAxis::resetTitleTextAttributes ( )

Definition at line 187 of file KDChartTernaryAxis.cpp.

Referenced by TernaryAxis().

int AbstractArea::rightOverlap ( bool  doNotRecalculate = false) const
virtualinherited

This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint().

The method triggers AbstractArea::sizeHint() to find out the amount of overlap at the right edge of the area.

Note
The default implementation is not using any caching, it might make sense to implement a more sophisticated solution for derived classes that have complex work to do in sizeHint(). All we have here is a primitive flag to be set by the caller if it is sure that no sizeHint() needs to be called.

Definition at line 82 of file KDChartAbstractArea.cpp.

References d.

Referenced by KDChart::AutoSpacerLayoutItem::sizeHint().

RulerAttributes AbstractAxis::rulerAttributes ( ) const
inherited

Returns the attributes to be used for painting the rulers.

See also
setRulerAttributes

Definition at line 209 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::CartesianAxis::paintCtx(), and KDChart::CartesianAxis::tickLength().

void AbstractAreaBase::setBackgroundAttributes ( const BackgroundAttributes a)
inherited
void AbstractAreaBase::setFrameAttributes ( const FrameAttributes a)
inherited
void TernaryAxis::setGeometry ( const QRect &  rect)
overridevirtual

Implements KDChart::AbstractAxis.

Definition at line 102 of file KDChartTernaryAxis.cpp.

void AbstractAxis::setLabels ( const QStringList &  list)
inherited

Use this to specify your own set of strings, to be used as axis labels.

Labels specified via setLabels take precedence: If a non-empty list is passed, KD Chart will use these strings as axis labels, instead of calculating them.

If you pass a smaller number of strings than the number of labels drawn at this axis, KD Chart will repeat the strings until all labels are drawn. As an example you could specify the seven days of the week as abscissa labels, which would be repeatedly used then.

By passing an empty QStringList you can reset the default behaviour.

See also
labels, setShortLabels

Definition at line 214 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::LeveyJenningsAxis::paintAsAbscissa(), and KDChart::LeveyJenningsAxis::~LeveyJenningsAxis().

void KDChart::AbstractLayoutItem::setParentLayout ( QLayout *  lay)
inherited
void KDChart::AbstractLayoutItem::setParentWidget ( QWidget widget)
virtualinherited

Inform the item about its widget: This enables the item, to trigger that widget's update, whenever the size of the item's contents has changed.

Thus, you need to call setParentWidget on every item, that has a non-fixed size.

Definition at line 59 of file KDChartLayoutItems.cpp.

References KDChart::AbstractLayoutItem::mParent.

Referenced by KDChart::HeaderFooter::setParent(), KDChart::AbstractCartesianDiagram::takeAxis(), and updateToplevelLayout().

void TernaryAxis::setPosition ( Position  p)
virtual
void AbstractAxis::setRulerAttributes ( const RulerAttributes a)
inherited

Use this to specify the attributes used to paint the axis ruler.

Every axis has a default set of ruler attributes that is exactly the same among them. Use this method to specify your own attributes.

See also
rulerAttributes

Definition at line 203 of file KDChartAbstractAxis.cpp.

References d.

void AbstractAxis::setShortLabels ( const QStringList &  list)
inherited

Use this to specify your own set of strings, to be used as axis labels, in case the normal labels are too long.

Note
Setting done via setShortLabels will be ignored, if you did not pass a non-empty string list via setLabels too!

By passing an empty QStringList you can reset the default behaviour.

See also
shortLabels, setLabels

Definition at line 228 of file KDChartAbstractAxis.cpp.

References d.

void AbstractAxis::setTextAttributes ( const TextAttributes a)
inherited

Use this to specify the text attributes to be used for axis labels.

By default, the reference area will be set at painting time. It will be the then-valid coordinate plane's parent widget, so normally, it will be the KDChart::Chart. Thus the labels of all of your axes in all of your diagrams within that Chart will be drawn in same font size, by default.

See also
textAttributes, setLabels

Definition at line 188 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::LeveyJenningsAxis::setType().

void TernaryAxis::setTitleText ( const QString &  text)

Definition at line 165 of file KDChartTernaryAxis.cpp.

References PrerenderedLabel::setText().

void TernaryAxis::setTitleTextAttributes ( const TextAttributes a)

Definition at line 176 of file KDChartTernaryAxis.cpp.

QStringList AbstractAxis::shortLabels ( ) const
inherited

Returns a list of strings, that are used as axis labels, as set via setShortLabels.

Note
Setting done via setShortLabels will be ignored, if you did not pass a non-empty string list via setLabels too!
See also
setShortLabels

Definition at line 237 of file KDChartAbstractAxis.cpp.

References d.

Referenced by KDChart::AbstractAxis::compare().

QSize TernaryAxis::sizeHint ( ) const
override

Definition at line 118 of file KDChartTernaryAxis.cpp.

void KDChart::AbstractLayoutItem::sizeHintChanged ( ) const
virtualinherited

Report changed size hint: ask the parent widget to recalculate the layout.

Definition at line 81 of file KDChartLayoutItems.cpp.

References KDChart::AbstractLayoutItem::mParent.

Referenced by KDChart::TextLayoutItem::sizeHint().

TextAttributes AbstractAxis::textAttributes ( ) const
inherited
QString TernaryAxis::titleText ( ) const

Definition at line 171 of file KDChartTernaryAxis.cpp.

References PrerenderedLabel::text().

TextAttributes TernaryAxis::titleTextAttributes ( ) const

Definition at line 182 of file KDChartTernaryAxis.cpp.

Referenced by hasDefaultTitleTextAttributes().

int AbstractArea::topOverlap ( bool  doNotRecalculate = false) const
virtualinherited

This is called at layout time by KDChart::AutoSpacerLayoutItem::sizeHint().

The method triggers AbstractArea::sizeHint() to find out the amount of overlap at the top edge of the area.

Note
The default implementation is not using any caching, it might make sense to implement a more sophisticated solution for derived classes that have complex work to do in sizeHint(). All we have here is a primitive flag to be set by the caller if it is sure that no sizeHint() needs to be called.

Definition at line 90 of file KDChartAbstractArea.cpp.

References d.

Referenced by KDChart::AutoSpacerLayoutItem::sizeHint().

void KDChart::AbstractAxis::update ( )
slotinherited

Definition at line 259 of file KDChartAbstractAxis.cpp.

References d.

Member Data Documentation

QWidget* KDChart::AbstractLayoutItem::mParent
protectedinherited
QLayout* KDChart::AbstractLayoutItem::mParentLayout
protectedinherited

Definition at line 92 of file KDChartLayoutItems.h.

Referenced by KDChart::AutoSpacerLayoutItem::paint().


The documentation for this class was generated from the following files:

Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/

https://www.kdab.com/development-resources/qt-tools/kd-chart/