# KDChart::TextArea Class Reference

`#include <KDChartTextArea.h>`

Inheritance diagram for KDChart::TextArea:

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

## Detailed Description

A text area in the chart with a background, a frame, etc.

TextArea is the base class for all text containing non-widget chart elements that have a set of background attributes and frame attributes, such as headers or footers.

Note:
  This class inherits from AbstractAreaBase, TextLayoutItem, QObject. The reason for this tripple inheritance is that neither AbstractAreaBase nor TextLayoutItem are QObject.

Definition at line 54 of file KDChartTextArea.h.

## Public Member Functions

void | alignToReferencePoint (const RelativePosition &position)
const QObject * | autoReferenceArea () const
BackgroundAttributes | backgroundAttributes () const
bool | compare (const AbstractAreaBase *other) const
| Returns true if both areas have the same settings.
virtual Qt::Orientations | expandingDirections () const
| pure virtual in QLayoutItem
FrameAttributes | frameAttributes () const
virtual QRect | geometry () const
| pure virtual in QLayoutItem
void | getFrameLeadings (int &left, int &top, int &right, int &bottom) const
virtual bool | intersects (const TextLayoutItem &other, const QPoint &myPos, const QPoint &otherPos) const
virtual bool | intersects (const TextLayoutItem &other, const QPointF &myPos, const QPointF &otherPos) const
virtual bool | isEmpty () const
| pure virtual in QLayoutItem
virtual QSize | maximumSize () const
| pure virtual in QLayoutItem
virtual QSize | minimumSize () const
| pure virtual in QLayoutItem
virtual void | paint (QPainter *)
void | paintAll (QPainter &painter)
| Call paintAll, if you want the background and the frame to be drawn before the normal paint() is invoked automatically.
virtual void | paintBackground (QPainter &painter, const QRect &rectangle)
virtual void | paintCtx (PaintContext *context)
| Default impl: Paint the complete item using its layouted position and size.
virtual void | paintFrame (QPainter &painter, const QRect &rectangle)
virtual void | paintIntoRect (QPainter &painter, const QRect &rect)
| Draws the background and frame, then calls paint().
QLayout * | parentLayout ()
virtual QFont | realFont () const
virtual qreal | realFontSize () const
void | removeFromParentLayout ()
void | setAutoReferenceArea (const QObject *area)
void | setBackgroundAttributes (const BackgroundAttributes &a)
void | setFrameAttributes (const FrameAttributes &a)
virtual void | setGeometry (const QRect &r)
| pure virtual in QLayoutItem
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.
void | setText (const QString &text)
void | setTextAttributes (const TextAttributes &a)
| Use this to specify the text attributes to be used for this item.
virtual QSize | sizeHint () const
| pure virtual in QLayoutItem
virtual void | sizeHintChanged () const
| Report changed size hint: ask the parent widget to recalculate the layout.
QString | text () const
TextAttributes | textAttributes () const
| Returns the text attributes to be used for this item.
virtual | ~TextArea ()

## Static Public Member Functions

void | paintBackgroundAttributes (QPainter &painter, const QRect &rectangle, const KDChart::BackgroundAttributes &attributes)
void | paintFrameAttributes (QPainter &painter, const QRect &rectangle, const KDChart::FrameAttributes &attributes)

## Protected Member Functions

virtual QRect | areaGeometry () const
QRect | innerRect () const
virtual void | positionHasChanged ()
| TextArea ()

## Protected Attributes

Q_SIGNALS | __pad0__: void positionChanged( TextArea * )
QWidget * | mParent
QLayout * | mParentLayout

## Constructor & Destructor Documentation

TextArea::~TextArea | ( |  | ) | `[virtual]`

Definition at line 60 of file KDChartTextArea.cpp.

    00061 {
    00062     // this bloc left empty intentionally
    00063 }

TextArea::TextArea | ( |  | ) | `[protected]`

Definition at line 52 of file KDChartTextArea.cpp.

    00053     : QObject()
    00054     , KDChart::AbstractAreaBase()
    00055     , KDChart::TextLayoutItem()
    00056 {
    00057     // this bloc left empty intentionally
    00058 }

## Member Function Documentation

void AbstractAreaBase::alignToReferencePoint | ( | const RelativePosition & | position | ) | `[inherited]`

Definition at line 90 of file KDChartAbstractAreaBase.cpp.

    00091 {
    00092     Q_UNUSED( position );
    00093     // PENDING(kalle) FIXME
    00094     qWarning( "Sorry, not implemented: void AbstractAreaBase::alignToReferencePoint( const RelativePosition& position )" );
    00095 }

QRect TextArea::areaGeometry | ( |  | ) | const`[protected, virtual]`

Implements KDChart::AbstractAreaBase.

Definition at line 105 of file KDChartTextArea.cpp.

References KDChart::TextLayoutItem::geometry().

Referenced by paintAll().

    00106 {
    00107     return geometry();
    00108 }

const QObject * KDChart::TextLayoutItem::autoReferenceArea | ( |  | ) | const`[inherited]`

Definition at line 135 of file KDChartLayoutItems.cpp.

Referenced by KDChart::HeaderFooter::setParent().

    00136 {
    00137     return mAutoReferenceArea;
    00138 }

BackgroundAttributes AbstractAreaBase::backgroundAttributes | ( |  | ) | const`[inherited]`

Definition at line 112 of file KDChartAbstractAreaBase.cpp.

References d.

Referenced by updateCommonBrush().

    00113 {
    00114     return d->backgroundAttributes;
    00115 }

bool AbstractAreaBase::compare | ( | const AbstractAreaBase * | other | ) | const`[inherited]`

Returns true if both areas have the same settings.

Definition at line 75 of file KDChartAbstractAreaBase.cpp.

    00076 {
    00077     if( other == this ) return true;
    00078     if( ! other ){
    00079         //qDebug() << "CartesianAxis::compare() cannot compare to Null pointer";
    00080         return false;
    00081     }
    00082     /*
    00083     qDebug() << "AbstractAreaBase:" << (frameAttributes() == other->frameAttributes())
    00084         << (backgroundAttributes() == other->backgroundAttributes()) << "\n";
    00085     */
    00086     return  (frameAttributes()      == other->frameAttributes()) &&
    00087             (backgroundAttributes() == other->backgroundAttributes());
    00088 }

Qt::Orientations KDChart::TextLayoutItem::expandingDirections | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 175 of file KDChartLayoutItems.cpp.

    00176 {
    00177     return 0; // Grow neither vertically nor horizontally
    00178 }

FrameAttributes AbstractAreaBase::frameAttributes | ( |  | ) | const`[inherited]`

Definition at line 102 of file KDChartAbstractAreaBase.cpp.

References d.

Referenced by KDChart::Legend::clone(), and updateCommonBrush().

    00103 {
    00104     return d->frameAttributes;
    00105 }

QRect KDChart::TextLayoutItem::geometry | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 180 of file KDChartLayoutItems.cpp.

Referenced by areaGeometry(), KDChart::TextLayoutItem::paint(), paintAll(), KDChart::CartesianAxis::paintCtx(), and paintIntoRect().

    00181 {
    00182     return mRect;
    00183 }

void AbstractAreaBase::getFrameLeadings | ( | int & | left,
|  | int & | top,
|  | int & | right,
|  | int & | bottom
| ) | const`[inherited]`

Definition at line 204 of file KDChartAbstractAreaBase.cpp.

References d.

Referenced by KDChart::AbstractAreaBase::innerRect(), and KDChart::AbstractAreaWidget::paintAll().

    00205 {
    00206     if( d && d->frameAttributes.isVisible() ){
    00207         const int padding = qMax( d->frameAttributes.padding(), 0 );
    00208         left   = padding;
    00209         top    = padding;
    00210         right  = padding;
    00211         bottom = padding;
    00212     }else{
    00213         left   = 0;
    00214         top    = 0;
    00215         right  = 0;
    00216         bottom = 0;
    00217     }
    00218 }

QRect AbstractAreaBase::innerRect | ( |  | ) | const`[protected, inherited]`

Definition at line 220 of file KDChartAbstractAreaBase.cpp.

References KDChart::AbstractAreaBase::areaGeometry(), and KDChart::AbstractAreaBase::getFrameLeadings().

Referenced by paintAll(), and KDChart::AbstractArea::paintAll().

    00221 {
    00222     int left;
    00223     int top;
    00224     int right;
    00225     int bottom;
    00226     getFrameLeadings( left, top, right, bottom );
    00227     return
    00228         QRect( QPoint(0,0), areaGeometry().size() )
    00229             .adjusted( left, top, -right, -bottom );
    00230 }

bool KDChart::TextLayoutItem::intersects | ( | const TextLayoutItem & | other,
|  | const QPoint & | myPos,
|  | const QPoint & | otherPos
| ) | const`[virtual, inherited]`

Definition at line 254 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::mAttributes, PI, KDChart::TextLayoutItem::rotatedCorners(), KDChart::TextAttributes::rotation(), and KDChart::TextLayoutItem::unrotatedSizeHint().

    00255 {
    00256     if ( mAttributes.rotation() != other.mAttributes.rotation() )
    00257     {
    00258         // that's the code for the common case: the rotation angles don't need to match here
    00259         QPolygon myPolygon(          rotatedCorners() );
    00260         QPolygon otherPolygon( other.rotatedCorners() );
    00261
    00262         // move the polygons to their positions
    00263         myPolygon.translate( myPos );
    00264         otherPolygon.translate( otherPos );
    00265
    00266         // create regions out of it
    00267         QRegion myRegion( myPolygon );
    00268         QRegion otherRegion( otherPolygon );
    00269
    00270         // now the question - do they intersect or not?
    00271         return ! myRegion.intersect( otherRegion ).isEmpty();
    00272
    00273     } else {
    00274         // and that's the code for the special case: the rotation angles match, which is less time consuming in calculation
    00275         const qreal angle = mAttributes.rotation() * PI / 180.0;
    00276         // both sizes
    00277         const QSizeF mySize(          unrotatedSizeHint() );
    00278         const QSizeF otherSize( other.unrotatedSizeHint() );
    00279
    00280         // that's myP1 relative to myPos
    00281         QPointF myP1( mySize.height() * sin( angle ), 0.0 );
    00282         // that's otherP1 to myPos
    00283         QPointF otherP1 = QPointF( otherSize.height() * sin( angle ), 0.0 ) + otherPos - myPos;
    00284
    00285         // now rotate both points the negative angle around myPos
    00286         myP1 = QPointF( myP1.x() * cos( -angle ), myP1.x() * sin( -angle ) );
    00287         qreal r = sqrt( otherP1.x() * otherP1.x() + otherP1.y() * otherP1.y() );
    00288         otherP1 = QPointF( r * cos( -angle ), r * sin( -angle ) );
    00289
    00290         // finally we look, whether both rectangles intersect or even not
    00291         return QRectF( myP1, mySize ).intersects( QRectF( otherP1, otherSize ) );
    00292     }
    00293 }

bool KDChart::TextLayoutItem::intersects | ( | const TextLayoutItem & | other,
|  | const QPointF & | myPos,
|  | const QPointF & | otherPos
| ) | const`[virtual, inherited]`

Definition at line 249 of file KDChartLayoutItems.cpp.

Referenced by KDChart::CartesianAxis::paintCtx().

    00250 {
    00251     return intersects( other, myPos.toPoint(), otherPos.toPoint() );
    00252 }

bool KDChart::TextLayoutItem::isEmpty | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 185 of file KDChartLayoutItems.cpp.

    00186 {
    00187     return false; // never empty, otherwise the layout item would not exist
    00188 }

QSize KDChart::TextLayoutItem::maximumSize | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 190 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::sizeHint().

    00191 {
    00192     return sizeHint(); // PENDING(kalle) Review, quite inflexible
    00193 }

QSize KDChart::TextLayoutItem::minimumSize | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 195 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::sizeHint().

    00196 {
    00197     return sizeHint(); // PENDING(kalle) Review, quite inflexible
    00198 }

void KDChart::TextLayoutItem::paint | ( | QPainter * |  | ) | `[virtual, inherited]`

Implements KDChart::AbstractLayoutItem.

Definition at line 382 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::geometry(), KDChart::TextAttributes::pen(), rotatedRect(), and KDChart::TextAttributes::rotation().

Referenced by paintAll(), and KDChart::CartesianAxis::paintCtx().

    00383 {
    00384     // make sure, cached font is updated, if needed:
    00385     // sizeHint();
    00386
    00387     if( !mRect.isValid() )
    00388         return;
    00389
    00390     PainterSaver painterSaver( painter );
    00391     painter->setFont( cachedFont );
    00392     QRectF rect( geometry() );
    00393
    00394 // #ifdef DEBUG_ITEMS_PAINT
    00395 //     painter->setPen( Qt::black );
    00396 //     painter->drawRect( rect );
    00397 // #endif
    00398     painter->translate( rect.center() );
    00399     rect.moveTopLeft( QPointF( - rect.width() / 2, - rect.height() / 2 ) );
    00400 #ifdef DEBUG_ITEMS_PAINT
    00401     painter->setPen( Qt::blue );
    00402     painter->drawRect( rect );
    00403 #endif
    00404     painter->rotate( mAttributes.rotation() );
    00405     rect = rotatedRect( rect, mAttributes.rotation() );
    00406 #ifdef DEBUG_ITEMS_PAINT
    00407     painter->setPen( Qt::red );
    00408     painter->drawRect( rect );
    00409 #endif
    00410     painter->setPen( mAttributes.pen() );
    00411     painter->drawText( rect, Qt::AlignHCenter | Qt::AlignVCenter, mText );
    00412 //    if (  calcSizeHint( cachedFont ).width() > rect.width() )
    00413 //        qDebug() << "rect.width()" << rect.width() << "text.width()" << calcSizeHint( cachedFont ).width();
    00414 //
    00415 //    //painter->drawText( rect, Qt::AlignHCenter | Qt::AlignVCenter, mText );
    00416 }

void TextArea::paintAll | ( | QPainter & | painter | ) | `[virtual]`

Call paintAll, if you want the background and the frame to be drawn before the normal paint() is invoked automatically.

Reimplemented from KDChart::AbstractLayoutItem.

Definition at line 83 of file KDChartTextArea.cpp.

References areaGeometry(), KDChart::TextLayoutItem::geometry(), KDChart::AbstractAreaBase::innerRect(), KDChart::TextLayoutItem::paint(), KDChart::AbstractAreaBase::paintBackground(), KDChart::AbstractAreaBase::paintFrame(), and KDChart::TextLayoutItem::setGeometry().

Referenced by paintIntoRect().

    00084 {
    00085     // Paint the background and frame
    00086     paintBackground( painter, geometry() );
    00087     paintFrame(      painter, geometry() );
    00088
    00089     // temporarily adjust the widget size, to be sure all content gets calculated
    00090     // to fit into the inner rectangle
    00091     const QRect oldGeometry( areaGeometry()  );
    00092     QRect inner( innerRect() );
    00093     inner.moveTo(
    00094         oldGeometry.left() + inner.left(),
    00095         oldGeometry.top()  + inner.top() );
    00096     const bool needAdjustGeometry = oldGeometry != inner;
    00097     if( needAdjustGeometry )
    00098         setGeometry( inner );
    00099     paint( &painter );
    00100     if( needAdjustGeometry )
    00101         setGeometry( oldGeometry );
    00102     //qDebug() << "TextAreaWidget::paintAll() done.";
    00103 }

void AbstractAreaBase::paintBackground | ( | QPainter & | painter,
|  | const QRect & | rectangle
| ) | `[virtual, inherited]`

Definition at line 188 of file KDChartAbstractAreaBase.cpp.

References d, and KDChart::AbstractAreaBase::paintBackgroundAttributes().

Referenced by paintAll(), KDChart::AbstractAreaWidget::paintAll(), and KDChart::AbstractArea::paintAll().

    00189 {
    00190     Q_ASSERT_X ( d != 0, "AbstractAreaBase::paintBackground()",
    00191                 "Private class was not initialized!" );
    00192     paintBackgroundAttributes( painter, rect, d->backgroundAttributes );
    00193 }

void AbstractAreaBase::paintBackgroundAttributes | ( | QPainter & | painter,
|  | const QRect & | rectangle,
|  | const KDChart::BackgroundAttributes & | attributes
| ) | `[static, inherited]`

Definition at line 119 of file KDChartAbstractAreaBase.cpp.

References KDChart::BackgroundAttributes::brush(), KDChart::BackgroundAttributes::isVisible(), KDChart::BackgroundAttributes::pixmap(), and KDChart::BackgroundAttributes::pixmapMode().

Referenced by KDChart::AbstractAreaBase::paintBackground().

    00121 {
    00122     if( !attributes.isVisible() ) return;
    00123
    00124     /* first draw the brush (may contain a pixmap)*/
    00125     if( Qt::NoBrush != attributes.brush().style() ) {
    00126         KDChart::PainterSaver painterSaver( &painter );
    00127         painter.setPen( Qt::NoPen );
    00128         const QPointF newTopLeft( painter.deviceMatrix().map( rect.topLeft() ) );
    00129         painter.setBrushOrigin( newTopLeft );
    00130         painter.setBrush( attributes.brush() );
    00131         painter.drawRect( rect.adjusted( 0, 0, -1, -1 ) );
    00132     }
    00133     /* next draw the backPixmap over the brush */
    00134     if( !attributes.pixmap().isNull() &&
    00135         attributes.pixmapMode() != BackgroundAttributes::BackgroundPixmapModeNone ) {
    00136         QPointF ol = rect.topLeft();
    00137         if( BackgroundAttributes::BackgroundPixmapModeCentered == attributes.pixmapMode() )
    00138         {
    00139             ol.setX( rect.center().x() - attributes.pixmap().width() / 2 );
    00140             ol.setY( rect.center().y() - attributes.pixmap().height()/ 2 );
    00141             painter.drawPixmap( ol, attributes.pixmap() );
    00142         } else {
    00143             QMatrix m;
    00144             double zW = (double)rect.width()  / (double)attributes.pixmap().width();
    00145             double zH = (double)rect.height() / (double)attributes.pixmap().height();
    00146             switch( attributes.pixmapMode() ) {
    00147             case BackgroundAttributes::BackgroundPixmapModeScaled:
    00148             {
    00149                 double z;
    00150                 z = qMin( zW, zH );
    00151                 m.scale( z, z );
    00152             }
    00153             break;
    00154             case BackgroundAttributes::BackgroundPixmapModeStretched:
    00155                 m.scale( zW, zH );
    00156                 break;
    00157             default:
    00158                 ; // Cannot happen, previously checked
    00159             }
    00160             QPixmap pm = attributes.pixmap().transformed( m );
    00161             ol.setX( rect.center().x() - pm.width() / 2 );
    00162             ol.setY( rect.center().y() - pm.height()/ 2 );
    00163             painter.drawPixmap( ol, pm );
    00164         }
    00165     }
    00166 }

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 }

void AbstractAreaBase::paintFrame | ( | QPainter & | painter,
|  | const QRect & | rectangle
| ) | `[virtual, inherited]`

Definition at line 196 of file KDChartAbstractAreaBase.cpp.

References d, and KDChart::AbstractAreaBase::paintFrameAttributes().

Referenced by paintAll(), KDChart::AbstractAreaWidget::paintAll(), and KDChart::AbstractArea::paintAll().

    00197 {
    00198     Q_ASSERT_X ( d != 0, "AbstractAreaBase::paintFrame()",
    00199                 "Private class was not initialized!" );
    00200     paintFrameAttributes( painter, rect, d->frameAttributes );
    00201 }

void AbstractAreaBase::paintFrameAttributes | ( | QPainter & | painter,
|  | const QRect & | rectangle,
|  | const KDChart::FrameAttributes & | attributes
| ) | `[static, inherited]`

Definition at line 169 of file KDChartAbstractAreaBase.cpp.

References KDChart::FrameAttributes::isVisible(), and KDChart::FrameAttributes::pen().

Referenced by KDChart::AbstractAreaBase::paintFrame().

    00171 {
    00172
    00173     if( !attributes.isVisible() ) return;
    00174
    00175     // Note: We set the brush to NoBrush explicitely here.
    00176     //       Otherwise we might get a filled rectangle, so any
    00177     //       previously drawn background would be overwritten by that area.
    00178
    00179     const QPen   oldPen(   painter.pen() );
    00180     const QBrush oldBrush( painter.brush() );
    00181     painter.setPen(   attributes.pen() );
    00182     painter.setBrush( Qt::NoBrush );
    00183     painter.drawRect( rect.adjusted( 0, 0, -1, -1 ) );
    00184     painter.setBrush( oldBrush );
    00185     painter.setPen(   oldPen );
    00186 }

void TextArea::paintIntoRect | ( | QPainter & | painter,
|  | const QRect & | rect
| ) | `[virtual]`

Draws the background and frame, then calls paint().

In most cases there is no need to overwrite this method in a derived class, but you would overwrite TextLayoutItem::paint() instead.

Definition at line 71 of file KDChartTextArea.cpp.

References KDChart::TextLayoutItem::geometry(), paintAll(), and KDChart::TextLayoutItem::setGeometry().

    00072 {
    00073     const QRect oldGeometry( geometry() );
    00074     if( oldGeometry != rect )
    00075         setGeometry( rect );
    00076     painter.translate( rect.left(), rect.top() );
    00077     paintAll( painter );
    00078     painter.translate( -rect.left(), -rect.top() );
    00079     if( oldGeometry != rect )
    00080         setGeometry( oldGeometry );
    00081 }

QLayout* KDChart::AbstractLayoutItem::parentLayout | ( |  | ) | `[inherited]`

Definition at line 74 of file KDChartLayoutItems.h.

    00075         {
    00076             return mParentLayout;
    00077         }

void TextArea::positionHasChanged | ( |  | ) | `[protected, virtual]`

Reimplemented from KDChart::AbstractAreaBase.

Definition at line 110 of file KDChartTextArea.cpp.

    00111 {
    00112     emit positionChanged( this );
    00113 }

QFont KDChart::TextLayoutItem::realFont | ( |  | ) | const`[virtual, inherited]`

Definition at line 226 of file KDChartLayoutItems.cpp.

Referenced by KDChart::CartesianAxis::maximumSize(), and KDChart::CartesianAxis::paintCtx().

    00227 {
    00228     realFontWasRecalculated(); // we can safely ignore the boolean return value
    00229     return cachedFont;
    00230 }

qreal KDChart::TextLayoutItem::realFontSize | ( |  | ) | const`[virtual, inherited]`

Definition at line 206 of file KDChartLayoutItems.cpp.

References KDChart::TextAttributes::calculatedFontSize().

    00207 {
    00208     return mAttributes.calculatedFontSize( mAutoReferenceArea, mAutoReferenceOrientation );
    00209 }

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::TextLayoutItem::setAutoReferenceArea | ( | const QObject * | area | ) | `[inherited]`

Definition at line 128 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::sizeHint().

Referenced by KDChart::HeaderFooter::setParent().

    00129 {
    00130     mAutoReferenceArea = area;
    00131     cachedSizeHint = QSize();
    00132     sizeHint();
    00133 }

void AbstractAreaBase::setBackgroundAttributes | ( | const BackgroundAttributes & | a | ) | `[inherited]`

Definition at line 107 of file KDChartAbstractAreaBase.cpp.

References d.

    00108 {
    00109     d->backgroundAttributes = a;
    00110 }

void AbstractAreaBase::setFrameAttributes | ( | const FrameAttributes & | a | ) | `[inherited]`

Definition at line 97 of file KDChartAbstractAreaBase.cpp.

References d.

Referenced by KDChart::Legend::clone().

    00098 {
    00099     d->frameAttributes = a;
    00100 }

void KDChart::TextLayoutItem::setGeometry | ( | const QRect & | r | ) | `[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 200 of file KDChartLayoutItems.cpp.

Referenced by paintAll(), KDChart::CartesianAxis::paintCtx(), and paintIntoRect().

    00201 {
    00202     mRect = r;
    00203 }

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 }

void KDChart::TextLayoutItem::setText | ( | const QString & | text | ) | `[inherited]`

Definition at line 140 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::sizeHint().

Referenced by KDChart::Widget::addHeaderFooter(), KDChart::CartesianAxis::maximumSize(), and KDChart::CartesianAxis::paintCtx().

    00141 {
    00142     mText = text;
    00143     cachedSizeHint = QSize();
    00144     sizeHint();
    00145 }

void KDChart::TextLayoutItem::setTextAttributes | ( | const TextAttributes & | a | ) | `[inherited]`

Use this to specify the text attributes to be used for this item.

See also:
  textAttributes

Definition at line 157 of file KDChartLayoutItems.cpp.

References KDChart::TextLayoutItem::sizeHint().

Referenced by KDChart::HeaderFooter::clone().

    00158 {
    00159     mAttributes = a;
    00160     cachedSizeHint = QSize(); // invalidate size hint
    00161     sizeHint();
    00162 }

QSize KDChart::TextLayoutItem::sizeHint | ( |  | ) | const`[virtual, inherited]`

pure virtual in QLayoutItem

Definition at line 295 of file KDChartLayoutItems.cpp.

References KDChart::AbstractLayoutItem::sizeHintChanged().

Referenced by KDChart::TextLayoutItem::maximumSize(), KDChart::CartesianAxis::maximumSize(), KDChart::TextLayoutItem::minimumSize(), KDChart::CartesianAxis::paintCtx(), KDChart::TextLayoutItem::setAutoReferenceArea(), KDChart::TextLayoutItem::setText(), and KDChart::TextLayoutItem::setTextAttributes().

    00296 {
    00297     if( realFontWasRecalculated() )
    00298     {
    00299         const QSize newSizeHint( calcSizeHint( cachedFont ) );
    00300         if( newSizeHint != cachedSizeHint ){
    00301             cachedSizeHint = newSizeHint;
    00302             sizeHintChanged();
    00303         }
    00304     }
    00305     //qDebug() << "-------- KDChart::TextLayoutItem::sizeHint() returns:"<<cachedSizeHint<<" ----------";
    00306     return cachedSizeHint;
    00307 }

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 }

QString KDChart::TextLayoutItem::text | ( |  | ) | const`[inherited]`

Definition at line 147 of file KDChartLayoutItems.cpp.

Referenced by KDChart::CartesianAxis::paintCtx().

    00148 {
    00149     return mText;
    00150 }

KDChart::TextAttributes KDChart::TextLayoutItem::textAttributes | ( |  | ) | const`[inherited]`

Returns the text attributes to be used for this item.

See also:
  setTextAttributes

Definition at line 169 of file KDChartLayoutItems.cpp.

Referenced by KDChart::HeaderFooter::clone().

    00170 {
    00171     return mAttributes;
    00172 }

## Member Data Documentation

Q_SIGNALS KDChart::TextArea::__pad0__ `[protected]`

| Reimplemented in KDChart::HeaderFooter. Definition at line 86 of file KDChartTextArea.h.

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:

- KDChartTextArea.h
- KDChartTextArea.cpp