#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. |
1.3.6