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)
 
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)
 
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 () const const
 

Additional Inherited Members

- Protected Attributes inherited from KChart::AbstractLayoutItem
QWidgetmParent
 
QLayoutmParentLayout
 

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-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:18:27 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.