#include <KDChartLayoutItems.h>
Inheritance diagram for KDChart::LineWithMarkerLayoutItem:
Definition at line 233 of file KDChartLayoutItems.h.
Public Member Functions | |
virtual Qt::Orientations | expandingDirections () const |
virtual QRect | geometry () const |
virtual bool | isEmpty () const |
LineWithMarkerLayoutItem (AbstractDiagram *diagram, int lineLength, const QPen &linePen, int markerOffs, const MarkerAttributes &marker, const QBrush &markerBrush, const QPen &markerPen, Qt::Alignment alignment=0) | |
virtual QSize | maximumSize () const |
virtual QSize | minimumSize () const |
virtual void | paint (QPainter *) |
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 () |
virtual void | setGeometry (const QRect &r) |
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 QSize | sizeHint () const |
virtual void | sizeHintChanged () const |
Report changed size hint: ask the parent widget to recalculate the layout. | |
Protected Attributes | |
QWidget * | mParent |
QLayout * | mParentLayout |
KDChart::LineWithMarkerLayoutItem::LineWithMarkerLayoutItem | ( | AbstractDiagram * | diagram, | |
int | lineLength, | |||
const QPen & | linePen, | |||
int | markerOffs, | |||
const MarkerAttributes & | marker, | |||
const QBrush & | markerBrush, | |||
const QPen & | markerPen, | |||
Qt::Alignment | alignment = 0 | |||
) |
Definition at line 687 of file KDChartLayoutItems.cpp.
00696 : AbstractLayoutItem( alignment ) 00697 , mDiagram( diagram ) 00698 , mLineLength( lineLength ) 00699 , mLinePen( linePen ) 00700 , mMarkerOffs( markerOffs ) 00701 , mMarker( marker ) 00702 , mMarkerBrush( markerBrush ) 00703 , mMarkerPen( markerPen ) 00704 { 00705 }
Qt::Orientations KDChart::LineWithMarkerLayoutItem::expandingDirections | ( | ) | const [virtual] |
QRect KDChart::LineWithMarkerLayoutItem::geometry | ( | ) | const [virtual] |
bool KDChart::LineWithMarkerLayoutItem::isEmpty | ( | ) | const [virtual] |
QSize KDChart::LineWithMarkerLayoutItem::maximumSize | ( | ) | const [virtual] |
Definition at line 722 of file KDChartLayoutItems.cpp.
References sizeHint().
00723 { 00724 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00725 }
QSize KDChart::LineWithMarkerLayoutItem::minimumSize | ( | ) | const [virtual] |
Definition at line 727 of file KDChartLayoutItems.cpp.
References sizeHint().
00728 { 00729 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00730 }
void KDChart::LineWithMarkerLayoutItem::paint | ( | QPainter * | ) | [virtual] |
Implements KDChart::AbstractLayoutItem.
Definition at line 745 of file KDChartLayoutItems.cpp.
References KDChart::MarkerAttributes::markerSize(), KDChart::MarkerLayoutItem::paintIntoRect(), and KDChart::LineLayoutItem::paintIntoRect().
00746 { 00747 // paint the line over the full width, into the vertical middle of the rect 00748 LineLayoutItem::paintIntoRect( painter, mRect, mLinePen ); 00749 00750 // paint the marker with the given offset from the left side of the line 00751 const QRect r( 00752 QPoint( mRect.x()+mMarkerOffs, mRect.y() ), 00753 QSize( mMarker.markerSize().toSize().width(), mRect.height() ) ); 00754 MarkerLayoutItem::paintIntoRect( 00755 painter, r, mDiagram, mMarker, mMarkerBrush, mMarkerPen ); 00756 }
void KDChart::AbstractLayoutItem::paintAll | ( | QPainter & | painter | ) | [virtual, inherited] |
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 69 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::paint().
00070 { 00071 paint( &painter ); 00072 }
void KDChart::AbstractLayoutItem::paintCtx | ( | PaintContext * | context | ) | [virtual, inherited] |
Default impl: Paint the complete item using its layouted position and size.
Reimplemented in KDChart::CartesianAxis, and KDChart::TernaryAxis.
Definition at line 77 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::paint(), and KDChart::PaintContext::painter().
00078 { 00079 if( context ) 00080 paint( context->painter() ); 00081 }
QLayout* KDChart::AbstractLayoutItem::parentLayout | ( | ) | [inherited] |
void KDChart::AbstractLayoutItem::removeFromParentLayout | ( | ) | [inherited] |
Definition at line 80 of file KDChartLayoutItems.h.
Referenced by KDChart::Chart::takeCoordinatePlane().
00081 { 00082 if( mParentLayout ){ 00083 if( widget() ) 00084 mParentLayout->removeWidget( widget() ); 00085 else 00086 mParentLayout->removeItem( this ); 00087 } 00088 }
void KDChart::LineWithMarkerLayoutItem::setGeometry | ( | const QRect & | r | ) | [virtual] |
void KDChart::AbstractLayoutItem::setParentLayout | ( | QLayout * | lay | ) | [inherited] |
void KDChart::AbstractLayoutItem::setParentWidget | ( | QWidget * | widget | ) | [virtual, inherited] |
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 KDChart::AbstractLayoutItem::mParent.
Referenced by KDChart::HeaderFooter::setParent(), and KDChart::AbstractCartesianDiagram::takeAxis().
00065 { 00066 mParent = widget; 00067 }
QSize KDChart::LineWithMarkerLayoutItem::sizeHint | ( | ) | const [virtual] |
Definition at line 737 of file KDChartLayoutItems.cpp.
References KDChart::MarkerAttributes::markerSize().
Referenced by maximumSize(), and minimumSize().
00738 { 00739 const QSize sizeM = mMarker.markerSize().toSize(); 00740 const QSize sizeL = QSize( mLineLength, mLinePen.width()+2 ); 00741 return QSize( qMax(sizeM.width(), sizeL.width()), 00742 qMax(sizeM.height(), sizeL.height()) ); 00743 }
void KDChart::AbstractLayoutItem::sizeHintChanged | ( | ) | const [virtual, inherited] |
Report changed size hint: ask the parent widget to recalculate the layout.
Definition at line 86 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::mParent.
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 }
QWidget* KDChart::AbstractLayoutItem::mParent [protected, inherited] |
Definition at line 90 of file KDChartLayoutItems.h.
Referenced by KDChart::AbstractLayoutItem::setParentWidget(), KDChart::TextLayoutItem::setText(), KDChart::TextLayoutItem::setTextAttributes(), and KDChart::AbstractLayoutItem::sizeHintChanged().
QLayout* KDChart::AbstractLayoutItem::mParentLayout [protected, inherited] |
Definition at line 91 of file KDChartLayoutItems.h.
Referenced by KDChart::AutoSpacerLayoutItem::paint().