# KDChart::AbstractLayoutItem Class Reference

`#include <KDChartLayoutItems.h>`

Inheritance diagram for KDChart::AbstractLayoutItem:

[legend]
Collaboration diagram for KDChart::AbstractLayoutItem:
[legend]
List of all members.

## Public Member Functions

| AbstractLayoutItem (Qt::Alignment itemAlignment=0)
virtual void | paint (QPainter *)=0
virtual void | paintAll (QPainter &painter)
| Default impl: just call paint.
virtual void | paintCtx (PaintContext *context)
| Default impl: Paint the complete item using its layouted position and size.
QLayout * | parentLayout ()
void | removeFromParentLayout ()
void | setParentLayout (QLayout *lay)
virtual void | setParentWidget (QWidget *widget)
| Inform the item about its widget: This enables the item, to trigger that widget's update, whenever the size of the item's contents has changed.
virtual void | sizeHintChanged () const
| Report changed size hint: ask the parent widget to recalculate the layout.

## Protected Attributes

QWidget * | mParent
QLayout * | mParentLayout

## Constructor & Destructor Documentation

KDChart::AbstractLayoutItem::AbstractLayoutItem | ( | Qt::Alignment | itemAlignment = 0 | ) |

Definition at line 51 of file KDChartLayoutItems.h.

    00051                                                             :
    00052             QLayoutItem( itemAlignment ),
    00053             mParent( 0 ),
    00054             mParentLayout( 0 ) {}

## Member Function Documentation

virtual void KDChart::AbstractLayoutItem::paint | ( | QPainter * |  | ) | `[pure virtual]`

Implemented in KDChart::CartesianAxis, KDChart::CartesianCoordinatePlane, KDChart::TextLayoutItem, KDChart::MarkerLayoutItem, KDChart::LineLayoutItem, KDChart::LineWithMarkerLayoutItem, KDChart::HorizontalLineLayoutItem, KDChart::VerticalLineLayoutItem, KDChart::AutoSpacerLayoutItem, and KDChart::PolarCoordinatePlane.

Referenced by KDChart::Legend::paint(), paintAll(), KDChart::AbstractArea::paintAll(), and paintCtx().

void KDChart::AbstractLayoutItem::paintAll | ( | QPainter & | painter | ) | `[virtual]`

Default impl: just call paint.

Derived classes like KDChart::AbstractArea are providing additional action here.

Reimplemented in KDChart::AbstractArea, and KDChart::TextArea.

Definition at line 69 of file KDChartLayoutItems.cpp.

References paint().

    00070 {
    00071     paint( &painter );
    00072 }

void KDChart::AbstractLayoutItem::paintCtx | ( | PaintContext * | context | ) | `[virtual]`

Default impl: Paint the complete item using its layouted position and size.

Reimplemented in KDChart::CartesianAxis.

Definition at line 77 of file KDChartLayoutItems.cpp.

References paint(), and KDChart::PaintContext::painter().

    00078 {
    00079     if( context )
    00080         paint( context->painter() );
    00081 }

QLayout* KDChart::AbstractLayoutItem::parentLayout | ( |  | ) |

Definition at line 74 of file KDChartLayoutItems.h.

    00075         {
    00076             return mParentLayout;
    00077         }

void KDChart::AbstractLayoutItem::removeFromParentLayout | ( |  | ) |

Definition at line 78 of file KDChartLayoutItems.h.

Referenced by KDChart::Chart::takeCoordinatePlane().

    00079         {
    00080             if( mParentLayout ){
    00081                 if( widget() )
    00082                     mParentLayout->removeWidget( widget() );
    00083                 else
    00084                     mParentLayout->removeItem( this );
    00085             }
    00086         }

void KDChart::AbstractLayoutItem::setParentLayout | ( | QLayout * | lay | ) |

Definition at line 70 of file KDChartLayoutItems.h.

    00071         {
    00072             mParentLayout = lay;
    00073         }

void KDChart::AbstractLayoutItem::setParentWidget | ( | QWidget * | widget | ) | `[virtual]`

Inform the item about its widget: This enables the item, to trigger that widget's update, whenever the size of the item's contents has changed.

Thus, you need to call setParentWidget on every item, that has a non-fixed size.

Definition at line 64 of file KDChartLayoutItems.cpp.

References mParent.

Referenced by KDChart::Legend::buildLegend(), and KDChart::AbstractCartesianDiagram::takeAxis().

    00065 {
    00066     mParent = widget;
    00067 }

void KDChart::AbstractLayoutItem::sizeHintChanged | ( |  | ) | const`[virtual]`

Report changed size hint: ask the parent widget to recalculate the layout.

Definition at line 86 of file KDChartLayoutItems.cpp.

Referenced by KDChart::TextLayoutItem::sizeHint().

    00087 {
    00088     // This is exactly like what QWidget::updateGeometry does.
    00089 //  qDebug("KDChart::AbstractLayoutItem::sizeHintChanged() called");
    00090     if( mParent ) {
    00091         if ( mParent->layout() )
    00092             mParent->layout()->invalidate();
    00093         else
    00094             QApplication::postEvent( mParent, new QEvent( QEvent::LayoutRequest ) );
    00095     }
    00096 }

## Member Data Documentation

QWidget* KDChart::AbstractLayoutItem::mParent `[protected]`

| Definition at line 88 of file KDChartLayoutItems.h. Referenced by setParentWidget().

QLayout* KDChart::AbstractLayoutItem::mParentLayout `[protected]`

| Definition at line 89 of file KDChartLayoutItems.h.

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

- KDChartLayoutItems.h
- KDChartLayoutItems.cpp