#include <KDChartTextArea.h>
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.
Definition at line 54 of file KDChartTextArea.h.
Signals | |
void | positionChanged (TextArea *) |
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 | setTextAlignment (Qt::Alignment) |
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 QSize | sizeHintAndRotatedCorners (QPoint &topLeftPt, QPoint &topRightPt, QPoint &bottomRightPt, QPoint &bottomLeftPt) const |
virtual void | sizeHintChanged () const |
Report changed size hint: ask the parent widget to recalculate the layout. | |
virtual QSize | sizeHintUnrotated () const |
QString | text () const |
Qt::Alignment | textAlignment () const |
TextAttributes | textAttributes () const |
Returns the text attributes to be used for this item. | |
virtual | ~TextArea () |
Static Public Member Functions | |
static void | paintBackgroundAttributes (QPainter &painter, const QRect &rectangle, const KDChart::BackgroundAttributes &attributes) |
static 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 | |
QWidget * | mParent |
QLayout * | mParentLayout |
TextArea::~TextArea | ( | ) | [virtual] |
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 }
void AbstractAreaBase::alignToReferencePoint | ( | const RelativePosition & | position | ) | [inherited] |
Definition at line 91 of file KDChartAbstractAreaBase.cpp.
00092 { 00093 Q_UNUSED( position ); 00094 // PENDING(kalle) FIXME 00095 qWarning( "Sorry, not implemented: void AbstractAreaBase::alignToReferencePoint( const RelativePosition& position )" ); 00096 }
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 245 of file KDChartLayoutItems.cpp.
Referenced by KDChart::TextBubbleLayoutItem::autoReferenceArea(), KDChart::HeaderFooter::compare(), and KDChart::HeaderFooter::setParent().
BackgroundAttributes AbstractAreaBase::backgroundAttributes | ( | ) | const [inherited] |
Definition at line 121 of file KDChartAbstractAreaBase.cpp.
References d.
Referenced by KDChart::AbstractAreaBase::compare(), and updateCommonBrush().
00122 { 00123 return d->backgroundAttributes; 00124 }
bool AbstractAreaBase::compare | ( | const AbstractAreaBase * | other | ) | const [inherited] |
Returns true if both areas have the same settings.
Definition at line 76 of file KDChartAbstractAreaBase.cpp.
References KDChart::AbstractAreaBase::backgroundAttributes(), and KDChart::AbstractAreaBase::frameAttributes().
00077 { 00078 if( other == this ) return true; 00079 if( ! other ){ 00080 //qDebug() << "CartesianAxis::compare() cannot compare to Null pointer"; 00081 return false; 00082 } 00083 /* 00084 qDebug() << "AbstractAreaBase:" << (frameAttributes() == other->frameAttributes()) 00085 << (backgroundAttributes() == other->backgroundAttributes()) << "\n"; 00086 */ 00087 return (frameAttributes() == other->frameAttributes()) && 00088 (backgroundAttributes() == other->backgroundAttributes()); 00089 }
Qt::Orientations KDChart::TextLayoutItem::expandingDirections | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 304 of file KDChartLayoutItems.cpp.
Referenced by KDChart::TextBubbleLayoutItem::expandingDirections().
FrameAttributes AbstractAreaBase::frameAttributes | ( | ) | const [inherited] |
Definition at line 107 of file KDChartAbstractAreaBase.cpp.
References d.
Referenced by KDChart::Legend::clone(), KDChart::AbstractAreaBase::compare(), and updateCommonBrush().
00108 { 00109 return d->frameAttributes; 00110 }
QRect KDChart::TextLayoutItem::geometry | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 309 of file KDChartLayoutItems.cpp.
Referenced by areaGeometry(), KDChart::TextBubbleLayoutItem::geometry(), KDChart::TextLayoutItem::paint(), paintAll(), KDChart::CartesianAxis::paintCtx(), and paintIntoRect().
void AbstractAreaBase::getFrameLeadings | ( | int & | left, | |
int & | top, | |||
int & | right, | |||
int & | bottom | |||
) | const [inherited] |
Definition at line 213 of file KDChartAbstractAreaBase.cpp.
References d.
Referenced by KDChart::AbstractAreaBase::innerRect(), and KDChart::AbstractAreaWidget::paintAll().
00214 { 00215 if( d && d->frameAttributes.isVisible() ){ 00216 const int padding = qMax( d->frameAttributes.padding(), 0 ); 00217 left = padding; 00218 top = padding; 00219 right = padding; 00220 bottom = padding; 00221 }else{ 00222 left = 0; 00223 top = 0; 00224 right = 0; 00225 bottom = 0; 00226 } 00227 }
QRect AbstractAreaBase::innerRect | ( | ) | const [protected, inherited] |
Definition at line 229 of file KDChartAbstractAreaBase.cpp.
References KDChart::AbstractAreaBase::areaGeometry(), and KDChart::AbstractAreaBase::getFrameLeadings().
Referenced by paintAll(), and KDChart::AbstractArea::paintAll().
00230 { 00231 int left; 00232 int top; 00233 int right; 00234 int bottom; 00235 getFrameLeadings( left, top, right, bottom ); 00236 return 00237 QRect( QPoint(0,0), areaGeometry().size() ) 00238 .adjusted( left, top, -right, -bottom ); 00239 }
bool KDChart::TextLayoutItem::intersects | ( | const TextLayoutItem & | other, | |
const QPoint & | myPos, | |||
const QPoint & | otherPos | |||
) | const [virtual, inherited] |
Definition at line 470 of file KDChartLayoutItems.cpp.
References KDChart::TextLayoutItem::mAttributes, PI, r, KDChart::TextLayoutItem::rotatedCorners(), KDChart::TextAttributes::rotation(), and KDChart::TextLayoutItem::unrotatedSizeHint().
00471 { 00472 if ( mAttributes.rotation() != other.mAttributes.rotation() ) 00473 { 00474 // that's the code for the common case: the rotation angles don't need to match here 00475 QPolygon myPolygon( rotatedCorners() ); 00476 QPolygon otherPolygon( other.rotatedCorners() ); 00477 00478 // move the polygons to their positions 00479 myPolygon.translate( myPos ); 00480 otherPolygon.translate( otherPos ); 00481 00482 // create regions out of it 00483 QRegion myRegion( myPolygon ); 00484 QRegion otherRegion( otherPolygon ); 00485 00486 // now the question - do they intersect or not? 00487 return ! myRegion.intersect( otherRegion ).isEmpty(); 00488 00489 } else { 00490 // and that's the code for the special case: the rotation angles match, which is less time consuming in calculation 00491 const qreal angle = mAttributes.rotation() * PI / 180.0; 00492 // both sizes 00493 const QSizeF mySize( unrotatedSizeHint() ); 00494 const QSizeF otherSize( other.unrotatedSizeHint() ); 00495 00496 // that's myP1 relative to myPos 00497 QPointF myP1( mySize.height() * sin( angle ), 0.0 ); 00498 // that's otherP1 to myPos 00499 QPointF otherP1 = QPointF( otherSize.height() * sin( angle ), 0.0 ) + otherPos - myPos; 00500 00501 // now rotate both points the negative angle around myPos 00502 myP1 = QPointF( myP1.x() * cos( -angle ), myP1.x() * sin( -angle ) ); 00503 qreal r = sqrt( otherP1.x() * otherP1.x() + otherP1.y() * otherP1.y() ); 00504 otherP1 = QPointF( r * cos( -angle ), r * sin( -angle ) ); 00505 00506 // finally we look, whether both rectangles intersect or even not 00507 const bool res = QRectF( myP1, mySize ).intersects( QRectF( otherP1, otherSize ) ); 00508 //qDebug() << res << QRectF( myP1, mySize ) << QRectF( otherP1, otherSize ); 00509 return res; 00510 } 00511 }
bool KDChart::TextLayoutItem::intersects | ( | const TextLayoutItem & | other, | |
const QPointF & | myPos, | |||
const QPointF & | otherPos | |||
) | const [virtual, inherited] |
Definition at line 465 of file KDChartLayoutItems.cpp.
Referenced by KDChart::CartesianAxis::paintCtx().
00466 { 00467 return intersects( other, myPos.toPoint(), otherPos.toPoint() ); 00468 }
bool KDChart::TextLayoutItem::isEmpty | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 314 of file KDChartLayoutItems.cpp.
Referenced by KDChart::TextBubbleLayoutItem::isEmpty().
QSize KDChart::TextLayoutItem::maximumSize | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 319 of file KDChartLayoutItems.cpp.
References KDChart::TextLayoutItem::sizeHint().
Referenced by KDChart::TextBubbleLayoutItem::maximumSize().
00320 { 00321 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00322 }
QSize KDChart::TextLayoutItem::minimumSize | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 324 of file KDChartLayoutItems.cpp.
References KDChart::TextLayoutItem::sizeHint().
Referenced by KDChart::TextBubbleLayoutItem::minimumSize().
00325 { 00326 return sizeHint(); // PENDING(kalle) Review, quite inflexible 00327 }
void KDChart::TextLayoutItem::paint | ( | QPainter * | painter | ) | [virtual, inherited] |
Implements KDChart::AbstractLayoutItem.
Definition at line 618 of file KDChartLayoutItems.cpp.
References KDChart::TextAttributes::autoShrink(), KDChart::TextLayoutItem::geometry(), KDChart::TextAttributes::pen(), KDChart::TextLayoutItem::realFont(), rotatedRect(), KDChart::TextAttributes::rotation(), and KDChart::PrintingParameters::scalePen().
Referenced by KDChart::TextBubbleLayoutItem::paint(), paintAll(), and KDChart::CartesianAxis::paintCtx().
00619 { 00620 // make sure, cached font is updated, if needed: 00621 // sizeHint(); 00622 00623 if( !mRect.isValid() ) 00624 return; 00625 00626 const PainterSaver painterSaver( painter ); 00627 QFont f = realFont(); 00628 if ( mAttributes.autoShrink() ) 00629 f.setPointSizeF( fitFontSizeToGeometry() ); 00630 painter->setFont( f ); 00631 QRectF rect( geometry() ); 00632 00633 // #ifdef DEBUG_ITEMS_PAINT 00634 // painter->setPen( Qt::black ); 00635 // painter->drawRect( rect ); 00636 // #endif 00637 painter->translate( rect.center() ); 00638 rect.moveTopLeft( QPointF( - rect.width() / 2, - rect.height() / 2 ) ); 00639 #ifdef DEBUG_ITEMS_PAINT 00640 painter->setPen( Qt::blue ); 00641 painter->drawRect( rect ); 00642 painter->drawRect( QRect(QPoint((rect.topLeft().toPoint() + rect.bottomLeft().toPoint()) / 2 - QPoint(2,2)), QSize(3,3)) ); 00643 //painter->drawRect( QRect(QPoint((rect.topRight().toPoint() + rect.bottomRight().toPoint()) / 2 - QPoint(2,2)), QSize(3,3)) ); 00644 #endif 00645 painter->rotate( mAttributes.rotation() ); 00646 rect = rotatedRect( rect, mAttributes.rotation() ); 00647 #ifdef DEBUG_ITEMS_PAINT 00648 painter->setPen( Qt::red ); 00649 painter->drawRect( rect ); 00650 painter->drawRect( QRect(QPoint((rect.topLeft().toPoint() + rect.bottomLeft().toPoint()) / 2 - QPoint(2,2)), QSize(3,3)) ); 00651 //painter->drawRect( QRect(QPoint((rect.topRight().toPoint() + rect.bottomRight().toPoint()) / 2 - QPoint(2,2)), QSize(3,3)) ); 00652 #endif 00653 painter->setPen( PrintingParameters::scalePen( mAttributes.pen() ) ); 00654 QFontMetrics fontMetrics( f ); 00655 const int AHight = fontMetrics.boundingRect( QChar::fromAscii( 'A' ) ).height(); 00656 const qreal AVCenter = fontMetrics.ascent() - AHight / 2.0; 00657 // Make sure that capital letters are vertically centered. This looks much 00658 // better than just centering the text's bounding rect. 00659 rect.translate( 0.0, rect.height() / 2.0 - AVCenter ); 00660 //painter->drawText( rect, Qt::AlignHCenter | Qt::AlignTop, mText ); 00661 painter->drawText( rect, mTextAlignment, mText ); 00662 00663 // if ( calcSizeHint( realFont() ).width() > rect.width() ) 00664 // qDebug() << "rect.width()" << rect.width() << "text.width()" << calcSizeHint( realFont() ).width(); 00665 // 00666 // //painter->drawText( rect, Qt::AlignHCenter | Qt::AlignVCenter, mText ); 00667 }
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 197 of file KDChartAbstractAreaBase.cpp.
References d, and KDChart::AbstractAreaBase::paintBackgroundAttributes().
Referenced by paintAll(), KDChart::AbstractAreaWidget::paintAll(), and KDChart::AbstractArea::paintAll().
00198 { 00199 Q_ASSERT_X ( d != 0, "AbstractAreaBase::paintBackground()", 00200 "Private class was not initialized!" ); 00201 paintBackgroundAttributes( painter, rect, d->backgroundAttributes ); 00202 }
void AbstractAreaBase::paintBackgroundAttributes | ( | QPainter & | painter, | |
const QRect & | rectangle, | |||
const KDChart::BackgroundAttributes & | attributes | |||
) | [static, inherited] |
Definition at line 128 of file KDChartAbstractAreaBase.cpp.
References KDChart::BackgroundAttributes::BackgroundPixmapModeCentered, KDChart::BackgroundAttributes::BackgroundPixmapModeNone, KDChart::BackgroundAttributes::BackgroundPixmapModeScaled, KDChart::BackgroundAttributes::BackgroundPixmapModeStretched, KDChart::BackgroundAttributes::brush(), KDChart::BackgroundAttributes::isVisible(), m, KDChart::BackgroundAttributes::pixmap(), and KDChart::BackgroundAttributes::pixmapMode().
Referenced by KDChart::AbstractAreaBase::paintBackground().
00130 { 00131 if( !attributes.isVisible() ) return; 00132 00133 /* first draw the brush (may contain a pixmap)*/ 00134 if( Qt::NoBrush != attributes.brush().style() ) { 00135 KDChart::PainterSaver painterSaver( &painter ); 00136 painter.setPen( Qt::NoPen ); 00137 const QPointF newTopLeft( painter.deviceMatrix().map( rect.topLeft() ) ); 00138 painter.setBrushOrigin( newTopLeft ); 00139 painter.setBrush( attributes.brush() ); 00140 painter.drawRect( rect.adjusted( 0, 0, -1, -1 ) ); 00141 } 00142 /* next draw the backPixmap over the brush */ 00143 if( !attributes.pixmap().isNull() && 00144 attributes.pixmapMode() != BackgroundAttributes::BackgroundPixmapModeNone ) { 00145 QPointF ol = rect.topLeft(); 00146 if( BackgroundAttributes::BackgroundPixmapModeCentered == attributes.pixmapMode() ) 00147 { 00148 ol.setX( rect.center().x() - attributes.pixmap().width() / 2 ); 00149 ol.setY( rect.center().y() - attributes.pixmap().height()/ 2 ); 00150 painter.drawPixmap( ol, attributes.pixmap() ); 00151 } else { 00152 QMatrix m; 00153 double zW = (double)rect.width() / (double)attributes.pixmap().width(); 00154 double zH = (double)rect.height() / (double)attributes.pixmap().height(); 00155 switch( attributes.pixmapMode() ) { 00156 case BackgroundAttributes::BackgroundPixmapModeScaled: 00157 { 00158 double z; 00159 z = qMin( zW, zH ); 00160 m.scale( z, z ); 00161 } 00162 break; 00163 case BackgroundAttributes::BackgroundPixmapModeStretched: 00164 m.scale( zW, zH ); 00165 break; 00166 default: 00167 ; // Cannot happen, previously checked 00168 } 00169 QPixmap pm = attributes.pixmap().transformed( m ); 00170 ol.setX( rect.center().x() - pm.width() / 2 ); 00171 ol.setY( rect.center().y() - pm.height()/ 2 ); 00172 painter.drawPixmap( ol, pm ); 00173 } 00174 } 00175 }
void KDChart::AbstractLayoutItem::paintCtx | ( | PaintContext * | context | ) | [virtual, inherited] |
Default impl: Paint the complete item using its layouted position and size.
Reimplemented in KDChart::CartesianAxis, KDChart::LeveyJenningsAxis, and KDChart::TernaryAxis.
Definition at line 78 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::paint(), and KDChart::PaintContext::painter().
00079 { 00080 if( context ) 00081 paint( context->painter() ); 00082 }
void AbstractAreaBase::paintFrame | ( | QPainter & | painter, | |
const QRect & | rectangle | |||
) | [virtual, inherited] |
Definition at line 205 of file KDChartAbstractAreaBase.cpp.
References d, and KDChart::AbstractAreaBase::paintFrameAttributes().
Referenced by paintAll(), KDChart::AbstractAreaWidget::paintAll(), and KDChart::AbstractArea::paintAll().
00206 { 00207 Q_ASSERT_X ( d != 0, "AbstractAreaBase::paintFrame()", 00208 "Private class was not initialized!" ); 00209 paintFrameAttributes( painter, rect, d->frameAttributes ); 00210 }
void AbstractAreaBase::paintFrameAttributes | ( | QPainter & | painter, | |
const QRect & | rectangle, | |||
const KDChart::FrameAttributes & | attributes | |||
) | [static, inherited] |
Definition at line 178 of file KDChartAbstractAreaBase.cpp.
References KDChart::FrameAttributes::isVisible(), KDChart::FrameAttributes::pen(), and KDChart::PrintingParameters::scalePen().
Referenced by KDChart::AbstractAreaBase::paintFrame().
00180 { 00181 00182 if( !attributes.isVisible() ) return; 00183 00184 // Note: We set the brush to NoBrush explicitly here. 00185 // Otherwise we might get a filled rectangle, so any 00186 // previously drawn background would be overwritten by that area. 00187 00188 const QPen oldPen( painter.pen() ); 00189 const QBrush oldBrush( painter.brush() ); 00190 painter.setPen( PrintingParameters::scalePen( attributes.pen() ) ); 00191 painter.setBrush( Qt::NoBrush ); 00192 painter.drawRect( rect.adjusted( 0, 0, -1, -1 ) ); 00193 painter.setBrush( oldBrush ); 00194 painter.setPen( oldPen ); 00195 }
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] |
void KDChart::TextArea::positionChanged | ( | TextArea * | ) | [signal] |
Referenced by positionHasChanged().
void TextArea::positionHasChanged | ( | ) | [protected, virtual] |
Reimplemented from KDChart::AbstractAreaBase.
Definition at line 110 of file KDChartTextArea.cpp.
References positionChanged().
00111 { 00112 emit positionChanged( this ); 00113 }
QFont KDChart::TextLayoutItem::realFont | ( | ) | const [virtual, inherited] |
Definition at line 442 of file KDChartLayoutItems.cpp.
Referenced by KDChart::TextLayoutItem::paint(), and KDChart::CartesianAxis::paintCtx().
00443 { 00444 realFontWasRecalculated(); // we can safely ignore the boolean return value 00445 return cachedFont; 00446 }
qreal KDChart::TextLayoutItem::realFontSize | ( | ) | const [virtual, inherited] |
Definition at line 422 of file KDChartLayoutItems.cpp.
References KDChart::TextAttributes::calculatedFontSize().
00423 { 00424 return mAttributes.calculatedFontSize( mAutoReferenceArea, mAutoReferenceOrientation ); 00425 }
void KDChart::AbstractLayoutItem::removeFromParentLayout | ( | ) | [inherited] |
Definition at line 83 of file KDChartLayoutItems.h.
Referenced by KDChart::Chart::takeCoordinatePlane().
00084 { 00085 if( mParentLayout ){ 00086 if( widget() ) 00087 mParentLayout->removeWidget( widget() ); 00088 else 00089 mParentLayout->removeItem( this ); 00090 } 00091 }
void KDChart::TextLayoutItem::setAutoReferenceArea | ( | const QObject * | area | ) | [inherited] |
Definition at line 238 of file KDChartLayoutItems.cpp.
References KDChart::TextLayoutItem::sizeHint().
Referenced by KDChart::TextBubbleLayoutItem::setAutoReferenceArea(), and KDChart::HeaderFooter::setParent().
00239 { 00240 mAutoReferenceArea = area; 00241 cachedSizeHint = QSize(); 00242 sizeHint(); 00243 }
void AbstractAreaBase::setBackgroundAttributes | ( | const BackgroundAttributes & | a | ) | [inherited] |
Definition at line 112 of file KDChartAbstractAreaBase.cpp.
References d, and KDChart::AbstractAreaBase::positionHasChanged().
00113 { 00114 if( d->backgroundAttributes == a ) 00115 return; 00116 00117 d->backgroundAttributes = a; 00118 positionHasChanged(); 00119 }
void AbstractAreaBase::setFrameAttributes | ( | const FrameAttributes & | a | ) | [inherited] |
Definition at line 98 of file KDChartAbstractAreaBase.cpp.
References d, and KDChart::AbstractAreaBase::positionHasChanged().
Referenced by KDChart::Legend::clone().
00099 { 00100 if( d->frameAttributes == a ) 00101 return; 00102 00103 d->frameAttributes = a; 00104 positionHasChanged(); 00105 }
void KDChart::TextLayoutItem::setGeometry | ( | const QRect & | r | ) | [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 329 of file KDChartLayoutItems.cpp.
Referenced by paintAll(), KDChart::CartesianAxis::paintCtx(), paintIntoRect(), and KDChart::TextBubbleLayoutItem::setGeometry().
00330 { 00331 mRect = r; 00332 }
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 65 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::mParent.
Referenced by KDChart::HeaderFooter::setParent(), and KDChart::AbstractCartesianDiagram::takeAxis().
00066 { 00067 mParent = widget; 00068 }
void KDChart::TextLayoutItem::setText | ( | const QString & | text | ) | [inherited] |
Definition at line 250 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::mParent, and KDChart::TextLayoutItem::sizeHint().
Referenced by KDChart::Widget::addHeaderFooter(), KDChart::HeaderFooter::clone(), KDChart::CartesianAxis::paintCtx(), and KDChart::TextBubbleLayoutItem::setText().
00251 { 00252 mText = text; 00253 cachedSizeHint = QSize(); 00254 sizeHint(); 00255 if( mParent ) 00256 mParent->update(); 00257 }
void KDChart::TextLayoutItem::setTextAlignment | ( | Qt::Alignment | alignment | ) | [inherited] |
Definition at line 264 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::mParent.
00265 { 00266 if( mTextAlignment == alignment ) 00267 return; 00268 mTextAlignment = alignment; 00269 if( mParent ) 00270 mParent->update(); 00271 }
void KDChart::TextLayoutItem::setTextAttributes | ( | const TextAttributes & | a | ) | [inherited] |
Use this to specify the text attributes to be used for this item.
Definition at line 283 of file KDChartLayoutItems.cpp.
References KDChart::TextAttributes::font(), KDChart::AbstractLayoutItem::mParent, and KDChart::TextLayoutItem::sizeHint().
Referenced by KDChart::HeaderFooter::clone(), and KDChart::TextBubbleLayoutItem::setTextAttributes().
00284 { 00285 mAttributes = a; 00286 cachedFont = a.font(); 00287 cachedSizeHint = QSize(); // invalidate size hint 00288 sizeHint(); 00289 if( mParent ) 00290 mParent->update(); 00291 }
QSize KDChart::TextLayoutItem::sizeHint | ( | ) | const [virtual, inherited] |
pure virtual in QLayoutItem
Definition at line 513 of file KDChartLayoutItems.cpp.
References KDChart::TextLayoutItem::sizeHintAndRotatedCorners().
Referenced by KDChart::TextLayoutItem::maximumSize(), KDChart::TextLayoutItem::minimumSize(), KDChart::CartesianAxis::paintCtx(), KDChart::TextLayoutItem::setAutoReferenceArea(), KDChart::TextLayoutItem::setText(), KDChart::TextLayoutItem::setTextAttributes(), and KDChart::TextBubbleLayoutItem::sizeHint().
00514 { 00515 QPoint dummy; 00516 return sizeHintAndRotatedCorners(dummy,dummy,dummy,dummy); 00517 }
QSize KDChart::TextLayoutItem::sizeHintAndRotatedCorners | ( | QPoint & | topLeftPt, | |
QPoint & | topRightPt, | |||
QPoint & | bottomRightPt, | |||
QPoint & | bottomLeftPt | |||
) | const [virtual, inherited] |
Definition at line 519 of file KDChartLayoutItems.cpp.
References KDChart::TextAttributes::rotation(), and KDChart::AbstractLayoutItem::sizeHintChanged().
Referenced by KDChart::CartesianAxis::paintCtx(), and KDChart::TextLayoutItem::sizeHint().
00521 { 00522 if( realFontWasRecalculated() || mAttributes.rotation() ) 00523 { 00524 const QSize newSizeHint( calcSizeHint( cachedFont, 00525 topLeftPt, topRightPt, bottomRightPt, bottomLeftPt ) ); 00526 if( newSizeHint != cachedSizeHint ){ 00527 cachedSizeHint = newSizeHint; 00528 sizeHintChanged(); 00529 } 00530 cachedTopLeft = topLeftPt; 00531 cachedTopRight = topRightPt; 00532 cachedBottomRight = bottomRightPt; 00533 cachedBottomLeft = bottomLeftPt; 00534 }else{ 00535 topLeftPt = cachedTopLeft; 00536 topRightPt = cachedTopRight; 00537 bottomRightPt = cachedBottomRight; 00538 bottomLeftPt = cachedBottomLeft; 00539 } 00540 //qDebug() << "-------- KDChart::TextLayoutItem::sizeHint() returns:"<<cachedSizeHint<<" ----------"; 00541 return cachedSizeHint; 00542 }
void KDChart::AbstractLayoutItem::sizeHintChanged | ( | ) | const [virtual, inherited] |
Report changed size hint: ask the parent widget to recalculate the layout.
Definition at line 87 of file KDChartLayoutItems.cpp.
References KDChart::AbstractLayoutItem::mParent.
Referenced by KDChart::TextLayoutItem::sizeHintAndRotatedCorners().
00088 { 00089 // This is exactly like what QWidget::updateGeometry does. 00090 // qDebug("KDChart::AbstractLayoutItem::sizeHintChanged() called"); 00091 if( mParent ) { 00092 if ( mParent->layout() ) 00093 mParent->layout()->invalidate(); 00094 else 00095 QApplication::postEvent( mParent, new QEvent( QEvent::LayoutRequest ) ); 00096 } 00097 }
QSize KDChart::TextLayoutItem::sizeHintUnrotated | ( | ) | const [virtual, inherited] |
Definition at line 544 of file KDChartLayoutItems.cpp.
Referenced by KDChart::CartesianAxis::paintCtx().
00545 { 00546 realFontWasRecalculated(); // make sure the cached font is updated if needed 00547 return unrotatedSizeHint( cachedFont ); 00548 }
QString KDChart::TextLayoutItem::text | ( | ) | const [inherited] |
Definition at line 259 of file KDChartLayoutItems.cpp.
Referenced by KDChart::HeaderFooter::clone(), KDChart::HeaderFooter::compare(), KDChart::CartesianAxis::paintCtx(), and KDChart::TextBubbleLayoutItem::text().
Qt::Alignment KDChart::TextLayoutItem::textAlignment | ( | ) | const [inherited] |
KDChart::TextAttributes KDChart::TextLayoutItem::textAttributes | ( | ) | const [inherited] |
Returns the text attributes to be used for this item.
Definition at line 298 of file KDChartLayoutItems.cpp.
Referenced by KDChart::HeaderFooter::clone(), KDChart::HeaderFooter::compare(), and KDChart::TextBubbleLayoutItem::textAttributes().
QWidget* KDChart::AbstractLayoutItem::mParent [protected, inherited] |
QLayout* KDChart::AbstractLayoutItem::mParentLayout [protected, inherited] |
Definition at line 94 of file KDChartLayoutItems.h.
Referenced by KDChart::AutoSpacerLayoutItem::paint().