kivio
kivio_gradient.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "kivio_gradient.h"
00020 #include "kivio_point.h"
00027 KivioGradient::KivioGradient()
00028 : m_pColors(NULL),
00029 m_pPoints(NULL)
00030 {
00031
00032 m_pColors = new QPtrList<QColor>;
00033 m_pColors->setAutoDelete(true);
00034
00035
00036 m_pPoints = new QPtrList<KivioPoint>;
00037 m_pPoints->setAutoDelete(true);
00038
00039 m_gradientType = kgtNone;
00040 }
00041
00042
00048 KivioGradient::~KivioGradient()
00049 {
00050 if( m_pColors )
00051 {
00052 delete m_pColors;
00053 m_pColors = NULL;
00054 }
00055
00056 if( m_pPoints )
00057 {
00058 delete m_pPoints;
00059 m_pPoints = NULL;
00060 }
00061 }
00062
00063
00072 KivioGradient::KivioGradient( const KivioGradient &source )
00073 : m_pColors(NULL),
00074 m_pPoints(NULL)
00075 {
00076
00077 m_gradientType = source.m_gradientType;
00078
00079
00080 QColor *pColor;
00081 m_pColors = new QPtrList<QColor>;
00082 pColor = source.m_pColors->first();
00083 while( pColor )
00084 {
00085 m_pColors->append( new QColor(*pColor) );
00086
00087 pColor = source.m_pColors->next();
00088 }
00089
00090
00091
00092 KivioPoint *pPoint;
00093 m_pPoints = new QPtrList<KivioPoint>;
00094 pPoint = source.m_pPoints->first();
00095 while( pPoint )
00096 {
00097 m_pPoints->append( new KivioPoint( *pPoint ) );
00098
00099 pPoint = source.m_pPoints->next();
00100 }
00101 }
00102
00103
00111 void KivioGradient::copyInto( KivioGradient *pTarget ) const
00112 {
00113 if( !pTarget )
00114 return;
00115
00116
00117 pTarget->m_gradientType = m_gradientType;
00118
00119
00120 if( pTarget->m_pColors )
00121 {
00122 delete pTarget->m_pColors;
00123 pTarget->m_pColors = NULL;
00124 }
00125
00126
00127 pTarget->m_pColors = new QPtrList<QColor>;
00128 pTarget->m_pColors->setAutoDelete(true);
00129
00130
00131
00132 QColor *pColor;
00133 pColor = m_pColors->first();
00134 while( pColor )
00135 {
00136 pTarget->m_pColors->append( new QColor(*pColor) );
00137
00138 pColor = m_pColors->next();
00139 }
00140
00141 if( pTarget->m_pPoints )
00142 {
00143 delete pTarget->m_pPoints;
00144 pTarget->m_pPoints = NULL;
00145 }
00146
00147 pTarget->m_pPoints = new QPtrList<KivioPoint>;
00148 pTarget->m_pPoints->setAutoDelete(true);
00149
00150 KivioPoint *pPoint;
00151 pPoint = m_pPoints->first();
00152 while( pPoint )
00153 {
00154 pTarget->m_pPoints->append( new KivioPoint( *pPoint ) );
00155
00156 pPoint = m_pPoints->next();
00157 }
00158 }
00159
00160
00166 bool KivioGradient::loadXML( const QDomElement & )
00167 {
00168 return false;
00169 }
00170
00171
00177 QDomElement KivioGradient::saveXML( QDomDocument &doc )
00178 {
00179
00180 return doc.createElement("KivioGradient");
00181 }
|