#include <KDChartLayoutItems.h>
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 | |
QWidget * | mParent |
QLayout * | mParentLayout |
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 ) {}
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 | ( | ) |
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 | ) |
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 }
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().