KChart::AutoSpacerLayoutItem

Search for usage in LXR

KChart::AutoSpacerLayoutItem Class Reference

#include <KChartLayoutItems.h>

Inheritance diagram for KChart::AutoSpacerLayoutItem:

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 KChart::AbstractLayoutItem
 AbstractLayoutItem (Qt::Alignment itemAlignment=Qt::Alignment())
 
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)
 
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 () const const
 

Additional Inherited Members

- Protected Attributes inherited from KChart::AbstractLayoutItem
QWidget * mParent
 
QLayout * mParentLayout
 

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.

  KChart'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 KChart - that is if you did not call KChart::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 463 of file KChartLayoutItems.h.

Constructor & Destructor Documentation

◆ AutoSpacerLayoutItem()

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

Definition at line 845 of file KChartLayoutItems.cpp.

Member Function Documentation

◆ expandingDirections()

Qt::Orientations KChart::AutoSpacerLayoutItem::expandingDirections ( ) const
overridevirtual

Implements QLayoutItem.

Definition at line 856 of file KChartLayoutItems.cpp.

◆ geometry()

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

Implements QLayoutItem.

Definition at line 861 of file KChartLayoutItems.cpp.

◆ isEmpty()

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

Implements QLayoutItem.

Definition at line 866 of file KChartLayoutItems.cpp.

◆ maximumSize()

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

Implements QLayoutItem.

Definition at line 871 of file KChartLayoutItems.cpp.

◆ minimumSize()

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

Implements QLayoutItem.

Definition at line 876 of file KChartLayoutItems.cpp.

◆ paint()

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

Implements KChart::AbstractLayoutItem.

Definition at line 948 of file KChartLayoutItems.cpp.

◆ setGeometry()

void KChart::AutoSpacerLayoutItem::setGeometry ( const QRect & r)
overridevirtual

Implements QLayoutItem.

Definition at line 881 of file KChartLayoutItems.cpp.

◆ sizeHint()

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

Implements QLayoutItem.

Definition at line 906 of file KChartLayoutItems.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 11:54:25 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.