KDChartTextArea.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "KDChartTextArea.h"
00024 #include "KDChartTextArea_p.h"
00025
00026 #include <qglobal.h>
00027
00028 #include <QPainter>
00029 #include <QRect>
00030
00031 #include <KDABLibFakes>
00032
00033
00034 using namespace KDChart;
00035
00036 TextArea::Private::Private() :
00037 AbstractAreaBase::Private()
00038 {
00039
00040 }
00041
00042
00043 TextArea::Private::~Private()
00044 {
00045
00046 }
00047
00048
00049 TextArea::TextArea()
00050 : QObject()
00051 , KDChart::AbstractAreaBase()
00052 , KDChart::TextLayoutItem()
00053 {
00054
00055 }
00056
00057 TextArea::~TextArea()
00058 {
00059
00060 }
00061
00062
00063 void TextArea::init()
00064 {
00065
00066 }
00067
00068 void TextArea::paintIntoRect( QPainter& painter, const QRect& rect )
00069 {
00070 const QRect oldGeometry( geometry() );
00071 if( oldGeometry != rect )
00072 setGeometry( rect );
00073 painter.translate( rect.left(), rect.top() );
00074 paintAll( painter );
00075 painter.translate( -rect.left(), -rect.top() );
00076 if( oldGeometry != rect )
00077 setGeometry( oldGeometry );
00078 }
00079
00080 void TextArea::paintAll( QPainter& painter )
00081 {
00082
00083 paintBackground( painter, geometry() );
00084 paintFrame( painter, geometry() );
00085
00086
00087
00088 const QRect oldGeometry( areaGeometry() );
00089 QRect inner( innerRect() );
00090 inner.moveTo(
00091 oldGeometry.left() + inner.left(),
00092 oldGeometry.top() + inner.top() );
00093 const bool needAdjustGeometry = oldGeometry != inner;
00094 if( needAdjustGeometry )
00095 setGeometry( inner );
00096 paint( &painter );
00097 if( needAdjustGeometry )
00098 setGeometry( oldGeometry );
00099
00100 }
00101
00102 QRect TextArea::areaGeometry() const
00103 {
00104 return geometry();
00105 }
00106
00107 void TextArea::positionHasChanged()
00108 {
00109 emit positionChanged( this );
00110 }
00111