KD Chart 2: KDChart::LineWithMarkerLayoutItem class Reference

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

# KDChart::LineWithMarkerLayoutItem Class Reference

`#include <KDChartLayoutItems.h>`

Inheritance diagram for KDChart::LineWithMarkerLayoutItem:

[legend]
Collaboration diagram for KDChart::LineWithMarkerLayoutItem:
[legend]
List of all members.

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

## Constructor & Destructor Documentation

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 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 }

## Member Function Documentation

Qt::Orientations KDChart::LineWithMarkerLayoutItem::expandingDirections | ( |  | ) | const`[virtual]`

| Definition at line 703 of file KDChartLayoutItems.cpp.
    00704 {
    00705     return 0; // Grow neither vertically nor horizontally
    00706 }

QRect KDChart::LineWithMarkerLayoutItem::geometry | ( |  | ) | const`[virtual]`

| Definition at line 708 of file KDChartLayoutItems.cpp.
    00709 {
    00710     return mRect;
    00711 }

bool KDChart::LineWithMarkerLayoutItem::isEmpty | ( |  | ) | const`[virtual]`

| Definition at line 713 of file KDChartLayoutItems.cpp.
    00714 {
    00715     return false; // never empty, otherwise the layout item would not exist
    00716 }

QSize KDChart::LineWithMarkerLayoutItem::maximumSize | ( |  | ) | const`[virtual]`

| Definition at line 718 of file KDChartLayoutItems.cpp. References sizeHint().
    00719 {
    00720     return sizeHint(); // PENDING(kalle) Review, quite inflexible
    00721 }

QSize KDChart::LineWithMarkerLayoutItem::minimumSize | ( |  | ) | const`[virtual]`

| Definition at line 723 of file KDChartLayoutItems.cpp. References sizeHint().
    00724 {
    00725     return sizeHint(); // PENDING(kalle) Review, quite inflexible
    00726 }

void KDChart::LineWithMarkerLayoutItem::paint | ( | QPainter * |  | ) | `[virtual]`

| 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 }

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, and KDChart::TextArea. 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. 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]`

| Definition at line 74 of file KDChartLayoutItems.h.
    00075         {
    00076             return mParentLayout;
    00077         }

void KDChart::AbstractLayoutItem::removeFromParentLayout | ( |  | ) | `[inherited]`

| 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::LineWithMarkerLayoutItem::setGeometry | ( | const QRect & | r | ) | `[virtual]`

| Definition at line 728 of file KDChartLayoutItems.cpp.
    00729 {
    00730     mRect = r;
    00731 }

void KDChart::AbstractLayoutItem::setParentLayout | ( | QLayout * | lay | ) | `[inherited]`

| Definition at line 70 of file KDChartLayoutItems.h.
    00071         {
    00072             mParentLayout = lay;
    00073         }

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::Legend::buildLegend(), and KDChart::AbstractCartesianDiagram::takeAxis().
    00065 {
    00066     mParent = widget;
    00067 }

QSize KDChart::LineWithMarkerLayoutItem::sizeHint | ( |  | ) | const`[virtual]`

| 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 }

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. 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, inherited]`

| Definition at line 88 of file KDChartLayoutItems.h. Referenced by KDChart::AbstractLayoutItem::setParentWidget().

QLayout* KDChart::AbstractLayoutItem::mParentLayout`[protected, inherited]`

| Definition at line 89 of file KDChartLayoutItems.h.

The documentation for this class was generated from the following files:

- KDChartLayoutItems.h
- KDChartLayoutItems.cpp