Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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

QWidgetmParent
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:
Generated on Thu May 10 11:06:30 2007 for KD Chart 2 by doxygen 1.3.6