KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
KDChart::AutoSpacerLayoutItem Class Reference

#include <KDChartLayoutItems.h>

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

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)
 
QLayoutparentLayout ()
 
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 QLayoutlayout ()
 
virtual int minimumHeightForWidth (int w) const const
 
void setAlignment (Qt::Alignment alignment)
 
virtual QSpacerItemspacerItem ()
 
virtual QWidgetwidget ()
 

Additional Inherited Members

- Protected Attributes inherited from KDChart::AbstractLayoutItem
QWidgetmParent = nullptr
 
QLayoutmParentLayout = 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
overridevirtual

Implements QLayoutItem.

Definition at line 867 of file KDChartLayoutItems.cpp.

◆ geometry()

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

Implements QLayoutItem.

Definition at line 872 of file KDChartLayoutItems.cpp.

◆ isEmpty()

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

Implements QLayoutItem.

Definition at line 877 of file KDChartLayoutItems.cpp.

◆ maximumSize()

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

Implements QLayoutItem.

Definition at line 882 of file KDChartLayoutItems.cpp.

◆ minimumSize()

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

Implements QLayoutItem.

Definition at line 887 of file KDChartLayoutItems.cpp.

◆ paint()

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

◆ setGeometry()

void KDChart::AutoSpacerLayoutItem::setGeometry ( const QRect r)
overridevirtual

Implements QLayoutItem.

Definition at line 892 of file KDChartLayoutItems.cpp.

◆ sizeHint()

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

Implements QLayoutItem.

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 on Fri Apr 26 2024 00:04:57 for KD Chart API Documentation by doxygen 1.9.8