KD Chart API Documentation 3.1
|
#include <KDChartLayoutItems.h>
Public Member Functions | |
AutoSpacerLayoutItem (bool layoutIsAtTopPosition, QHBoxLayout *rightLeftLayout, bool layoutIsAtLeftPosition, QVBoxLayout *topBottomLayout) | |
Qt::Orientations | expandingDirections () const override |
QRect | geometry () const override |
bool | isEmpty () const override |
QSize | maximumSize () const override |
QSize | minimumSize () const override |
void | paint (QPainter *) override |
void | setGeometry (const QRect &r) override |
QSize | sizeHint () const override |
Public Member Functions inherited from KDChart::AbstractLayoutItem | |
AbstractLayoutItem (Qt::Alignment itemAlignment={}) | |
virtual void | paintAll (QPainter &painter) |
virtual void | paintCtx (PaintContext *context) |
QLayout * | parentLayout () |
void | removeFromParentLayout () |
void | setParentLayout (QLayout *lay) |
virtual void | setParentWidget (QWidget *widget) |
virtual void | sizeHintChanged () const |
Public Member Functions inherited from QLayoutItem | |
QLayoutItem (Qt::Alignment alignment) | |
virtual | ~QLayoutItem () |
Qt::Alignment | alignment () const const |
virtual QSizePolicy::ControlTypes | controlTypes () const const |
virtual bool | hasHeightForWidth () const const |
virtual int | heightForWidth (int) const const |
virtual void | invalidate () |
virtual QLayout * | layout () |
virtual int | minimumHeightForWidth (int w) const const |
void | setAlignment (Qt::Alignment alignment) |
virtual QSpacerItem * | spacerItem () |
virtual QWidget * | widget () |
Additional Inherited Members | |
Protected Attributes inherited from KDChart::AbstractLayoutItem | |
QWidget * | mParent = nullptr |
QLayout * | mParentLayout = nullptr |
@brief An empty layout item \internal The AutoSpacerLayoutItem is automatically put into each corner cell of the planeLayout grid: one of its reference-layouts is a QVBoxLayout (for the top, or bottom axes resp.), the other one is a QHBoxLayout (for the left/right sided axes). The spacer reserves enough space so all of the AbstractAreas contained in the two reference-layouts can display not only their in-bounds content but also their overlapping content reaching out of their area. KD Chart's layouting is applying this schema:
+------------------+-------------------------+-----------------+ | +--------------+ | +---------------------+ | +-------------+ | | | | | | QVBoxLayout for | | | | | | | AUTO | | | the top axis/axes | | | AUTO | | | | SPACER | | +---------------------+ | | SPACER | | | | ITEM | | | | | | ITEM | | | | | | | | | | | | | +--------------+ | +---------------------+ | +-------------+ | +------------------+-------------------------+-----------------+ | +--------+-----+ | +---------------------+ | +-------+-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | QHBox- | | | | | | | Right | | | | | Layout | | | | | | | | | | | | | | | | | | | axes | | | | | for | | | | | | | | | | | | | | | | | | | layout| | | | | the | | | | DIAGRAM(s) | | | | | | | | | | | | | | | | | | | | left | | | | | | | | | | | | | | | | | | | | | | | | axis | | | | | | | | | | | | or | | | | | | | | | | | | axes | | | | | | | | | | | | | | | | | | | | | | | +--------+-----+ | +---------------------+ | +-------+-----+ | +------------------+-------------------------+-----------------+ | +--------------+ | +---------------------+ | +-------------+ | | | | | | QVBoxLayout for | | | | | | | AUTO | | | the bottom axes | | | AUTO | | | | SPACER | | +---------------------+ | | SPACER | | | | ITEM | | | | | | ITEM | | | | | | | | | | | | | +--------------+ | +---------------------+ | +-------------+ | +------------------+-------------------------+-----------------+
A typical use case is an Abscissa axis with long labels:
2 -| | 1 -| | 0 -+------------------------------------ | | | | | Monday Tuesday Wednesday Thursday Friday
The last letters of the word "Friday" would have been cut off in previous versions of KD Chart - that is if you did not call KDChart::Chart::setGlobalLeading().
Now the word will be shown completely because there is an auto-spacer-item taking care for the additional space needed in the lower/right corner.
Definition at line 437 of file KDChartLayoutItems.h.
KDChart::AutoSpacerLayoutItem::AutoSpacerLayoutItem | ( | bool | layoutIsAtTopPosition, |
QHBoxLayout * | rightLeftLayout, | ||
bool | layoutIsAtLeftPosition, | ||
QVBoxLayout * | topBottomLayout | ||
) |
Definition at line 856 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 867 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 872 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 877 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 882 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 887 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements KDChart::AbstractLayoutItem.
Definition at line 952 of file KDChartLayoutItems.cpp.
References QPainter::brush(), QPainter::brushOrigin(), QPainter::deviceTransform(), QPainter::drawLine(), QPainter::drawRect(), QTransform::map(), Qt::NoBrush, Qt::NoPen, QPainter::pen(), QPoint::rx(), QPoint::ry(), QPainter::setBrush(), QPainter::setBrushOrigin(), and QPainter::setPen().
|
overridevirtual |
Implements QLayoutItem.
Definition at line 892 of file KDChartLayoutItems.cpp.
|
overridevirtual |
Implements QLayoutItem.
Definition at line 911 of file KDChartLayoutItems.cpp.
References updateCommonBrush().