#include <KDChartLayoutItems.h>
Inheritance diagram for KDChart::LineWithMarkerLayoutItem:
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 |
|
Definition at line 683 of file KDChartLayoutItems.cpp.
00692 : AbstractLayoutItem( alignment ) 00693 , mDiagram( diagram ) 00694 , mLineLength( lineLength ) 00695 , mLinePen( linePen ) 00696 , mMarkerOffs( markerOffs ) 00697 , mMarker( marker ) 00698 , mMarkerBrush( markerBrush ) 00699 , mMarkerPen( markerPen ) 00700 { 00701 } |
|
Definition at line 703 of file KDChartLayoutItems.cpp.
00704 { 00705 return 0; // Grow neither vertically nor horizontally 00706 } |
|
Definition at line 708 of file KDChartLayoutItems.cpp.
00709 {
00710 return mRect;
00711 }
|
|
Definition at line 713 of file KDChartLayoutItems.cpp.
00714 { 00715 return false; // never empty, otherwise the layout item would not exist 00716 } |
|
Definition at line 718 of file KDChartLayoutItems.cpp. References sizeHint().
00719 { 00720 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00721 } |
|
Definition at line 723 of file KDChartLayoutItems.cpp. References sizeHint().
00724 { 00725 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00726 } |
|
Implements KDChart::AbstractLayoutItem. Definition at line 741 of file KDChartLayoutItems.cpp. References KDChart::MarkerAttributes::markerSize().
00742 { 00743 // paint the line over the full width, into the vertical middle of the rect 00744 LineLayoutItem::paintIntoRect( painter, mRect, mLinePen ); 00745 00746 // paint the marker with the given offset from the left side of the line 00747 const QRect r( 00748 QPoint( mRect.x()+mMarkerOffs, mRect.y() ), 00749 QSize( mMarker.markerSize().toSize().width(), mRect.height() ) ); 00750 MarkerLayoutItem::paintIntoRect( 00751 painter, r, mDiagram, mMarker, mMarkerBrush, mMarkerPen ); 00752 } |
|
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 KDChart::AbstractLayoutItem::paint().
00070 { 00071 paint( &painter ); 00072 } |
|
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 KDChart::AbstractLayoutItem::paint(), and KDChart::PaintContext::painter().
00078 { 00079 if( context ) 00080 paint( context->painter() ); 00081 } |
|
Definition at line 74 of file KDChartLayoutItems.h.
00075 { 00076 return mParentLayout; 00077 } |
|
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 } |
|
Definition at line 728 of file KDChartLayoutItems.cpp.
00729 { 00730 mRect = r; 00731 } |
|
Definition at line 70 of file KDChartLayoutItems.h.
00071 { 00072 mParentLayout = lay; 00073 } |
|
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::Legend::buildLegend(), and KDChart::AbstractCartesianDiagram::takeAxis().
00065 { 00066 mParent = widget; 00067 } |
|
Definition at line 733 of file KDChartLayoutItems.cpp. References KDChart::MarkerAttributes::markerSize(). Referenced by maximumSize(), and minimumSize().
00734 { 00735 const QSize sizeM = mMarker.markerSize().toSize(); 00736 const QSize sizeL = QSize( mLineLength, mLinePen.width()+2 ); 00737 return QSize( qMax(sizeM.width(), sizeL.width()), 00738 qMax(sizeM.height(), sizeL.height()) ); 00739 } |
|
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 } |
|
Definition at line 88 of file KDChartLayoutItems.h. Referenced by KDChart::AbstractLayoutItem::setParentWidget(). |
|
Definition at line 89 of file KDChartLayoutItems.h. |