KDChart::AbstractLayoutItem Class Reference

#include <KDChartLayoutItems.h>

Inheritance diagram for KDChart::AbstractLayoutItem:

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

Collaboration graph
[legend]

List of all members.


Detailed Description

Base class for all layout items of KD Chart.

Definition at line 53 of file KDChartLayoutItems.h.


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

QWidgetmParent
QLayout * mParentLayout

Constructor & Destructor Documentation

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

Definition at line 56 of file KDChartLayoutItems.h.

00056                                                             :
00057             QLayoutItem( itemAlignment ),
00058             mParent( 0 ),
00059             mParentLayout( 0 ) {}


Member Function Documentation

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

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

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, KDChart::TextArea, and KDChart::TernaryAxis.

Definition at line 70 of file KDChartLayoutItems.cpp.

References paint().

00071 {
00072     paint( &painter );
00073 }

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

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

Reimplemented in KDChart::CartesianAxis, KDChart::LeveyJenningsAxis, and KDChart::TernaryAxis.

Definition at line 78 of file KDChartLayoutItems.cpp.

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

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

QLayout* KDChart::AbstractLayoutItem::parentLayout (  ) 

Definition at line 79 of file KDChartLayoutItems.h.

00080         {
00081             return mParentLayout;
00082         }

void KDChart::AbstractLayoutItem::removeFromParentLayout (  ) 

Definition at line 83 of file KDChartLayoutItems.h.

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

00084         {
00085             if( mParentLayout ){
00086                 if( widget() )
00087                     mParentLayout->removeWidget( widget() );
00088                 else
00089                     mParentLayout->removeItem( this );
00090             }
00091         }

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

Definition at line 75 of file KDChartLayoutItems.h.

00076         {
00077             mParentLayout = lay;
00078         }

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 65 of file KDChartLayoutItems.cpp.

References mParent.

Referenced by KDChart::HeaderFooter::setParent(), and KDChart::AbstractCartesianDiagram::takeAxis().

00066 {
00067     mParent = widget;
00068 }

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

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

Definition at line 87 of file KDChartLayoutItems.cpp.

References mParent.

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

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


Member Data Documentation

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

Definition at line 93 of file KDChartLayoutItems.h.

Referenced by setParentWidget(), KDChart::TextLayoutItem::setText(), KDChart::TextLayoutItem::setTextAlignment(), KDChart::TextLayoutItem::setTextAttributes(), and sizeHintChanged().

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

Definition at line 94 of file KDChartLayoutItems.h.

Referenced by KDChart::AutoSpacerLayoutItem::paint().


The documentation for this class was generated from the following files:
Generated on Thu Mar 4 23:25:29 2010 for KD Chart 2 by  doxygen 1.5.4