KD Chart API Documentation  3.1
Public Member Functions | List of all members
KDChart::AutoSpacerLayoutItem Class Reference

#include <KDChartLayoutItems.h>

Inheritance diagram for KDChart::AutoSpacerLayoutItem:
KDChart::AbstractLayoutItem

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
 

Additional Inherited Members

- Protected Attributes inherited from KDChart::AbstractLayoutItem
QWidget * mParent = nullptr
 
QLayout * mParentLayout = nullptr
 

Detailed Description

   @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.

Constructor & Destructor Documentation

◆ AutoSpacerLayoutItem()

KDChart::AutoSpacerLayoutItem::AutoSpacerLayoutItem ( bool  layoutIsAtTopPosition,
QHBoxLayout *  rightLeftLayout,
bool  layoutIsAtLeftPosition,
QVBoxLayout *  topBottomLayout 
)

Definition at line 856 of file KDChartLayoutItems.cpp.

Member Function Documentation

◆ expandingDirections()

Qt::Orientations KDChart::AutoSpacerLayoutItem::expandingDirections ( ) const
override

Definition at line 867 of file KDChartLayoutItems.cpp.

◆ geometry()

QRect KDChart::AutoSpacerLayoutItem::geometry ( ) const
override

Definition at line 872 of file KDChartLayoutItems.cpp.

◆ isEmpty()

bool KDChart::AutoSpacerLayoutItem::isEmpty ( ) const
override

Definition at line 877 of file KDChartLayoutItems.cpp.

◆ maximumSize()

QSize KDChart::AutoSpacerLayoutItem::maximumSize ( ) const
override

Definition at line 882 of file KDChartLayoutItems.cpp.

◆ minimumSize()

QSize KDChart::AutoSpacerLayoutItem::minimumSize ( ) const
override

Definition at line 887 of file KDChartLayoutItems.cpp.

◆ paint()

void KDChart::AutoSpacerLayoutItem::paint ( QPainter *  painter)
overridevirtual

Implements KDChart::AbstractLayoutItem.

Definition at line 952 of file KDChartLayoutItems.cpp.

◆ setGeometry()

void KDChart::AutoSpacerLayoutItem::setGeometry ( const QRect &  r)
override

Definition at line 892 of file KDChartLayoutItems.cpp.

◆ sizeHint()

QSize KDChart::AutoSpacerLayoutItem::sizeHint ( ) const
override

Definition at line 911 of file KDChartLayoutItems.cpp.

References updateCommonBrush().


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

© 2001 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/
Generated by doxygen 1.9.1