00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include "KDGanttXMLTools.h"
00036 #include <tqbrush.h>
00037 #include <tqbuffer.h>
00038 #include <tqimage.h>
00039 #include <zlib.h>
00040
00041 namespace KDGanttXML {
00042
00043 void createBoolNode( TQDomDocument& doc, TQDomNode& parent,
00044 const TQString& elementName, bool value )
00045 {
00046 TQDomElement newElement =
00047 doc.createElement( elementName );
00048 parent.appendChild( newElement );
00049 TQDomText elementContent =
00050 doc.createTextNode( value ? "true" : "false" );
00051 newElement.appendChild( elementContent );
00052 }
00053
00054
00055
00056 void createSizeNode( TQDomDocument& doc, TQDomNode& parent,
00057 const TQString& elementName, const TQSize& value )
00058 {
00059 TQDomElement newElement =
00060 doc.createElement( elementName );
00061 parent.appendChild( newElement );
00062 newElement.setAttribute( "Width", value.width() );
00063 newElement.setAttribute( "Height", value.height() );
00064 }
00065
00066
00067 void createIntNode( TQDomDocument& doc, TQDomNode& parent,
00068 const TQString& elementName, int value )
00069 {
00070 TQDomElement newElement =
00071 doc.createElement( elementName );
00072 parent.appendChild( newElement );
00073 TQDomText elementContent =
00074 doc.createTextNode( TQString::number( value ) );
00075 newElement.appendChild( elementContent );
00076 }
00077
00078
00079 void createDoubleNode( TQDomDocument& doc, TQDomNode& parent,
00080 const TQString& elementName, double value )
00081 {
00082 TQDomElement newElement =
00083 doc.createElement( elementName );
00084 parent.appendChild( newElement );
00085 TQDomText elementContent =
00086 doc.createTextNode( TQString::number( value ) );
00087 newElement.appendChild( elementContent );
00088 }
00089
00090
00091 void createStringNode( TQDomDocument& doc, TQDomNode& parent,
00092 const TQString& elementName,
00093 const TQString& text )
00094 {
00095 TQDomElement newElement =
00096 doc.createElement( elementName );
00097 parent.appendChild( newElement );
00098 TQDomText elementContent =
00099 doc.createTextNode( text );
00100 newElement.appendChild( elementContent );
00101 }
00102
00103
00104 void createColorNode( TQDomDocument& doc, TQDomNode& parent,
00105 const TQString& elementName, const TQColor& color )
00106 {
00107 TQDomElement colorElement = doc.createElement( elementName );
00108 parent.appendChild( colorElement );
00109 colorElement.setAttribute( "Red",
00110 TQString::number( color.red() ) );
00111 colorElement.setAttribute( "Green",
00112 TQString::number( color.green() ) );
00113 colorElement.setAttribute( "Blue",
00114 TQString::number( color.blue() ) );
00115 }
00116
00117
00118 void createBrushNode( TQDomDocument& doc, TQDomNode& parent,
00119 const TQString& elementName, const TQBrush& brush )
00120
00121 {
00122 TQDomElement brushElement = doc.createElement( elementName );
00123 parent.appendChild( brushElement );
00124 createColorNode( doc, brushElement, "Color", brush.color() );
00125 createStringNode( doc, brushElement, "Style",
00126 KDGanttXML::brushStyleToString( brush.style() ) );
00127 if( brush.style() == Qt::CustomPattern && brush.pixmap() )
00128 createPixmapNode( doc, brushElement, "Pixmap", *brush.pixmap() );
00129 }
00130
00131
00132 void createPixmapNode( TQDomDocument& doc, TQDomNode& parent,
00133 const TQString& elementName, const TQPixmap& pixmap )
00134 {
00135 TQDomElement pixmapElement = doc.createElement( elementName );
00136 parent.appendChild( pixmapElement );
00137
00138
00139
00140
00141 TQByteArray ba;
00142 TQBuffer buffer( ba );
00143 buffer.open( IO_WriteOnly );
00144 TQImageIO imgio( &buffer, "XPM" );
00145 TQImage image = pixmap.convertToImage();
00146 imgio.setImage( image );
00147 imgio.write();
00148 buffer.close();
00149 ulong len = ba.size() * 2;
00150 TQByteArray bazip( len );
00151 ::compress( (uchar*) bazip.data(), &len, (uchar*) ba.data(), ba.size() );
00152 TQString dataString;
00153 static const char hexchars[] = "0123456789abcdef";
00154 for ( int i = 0; i < (int)len; ++i ) {
00155 uchar c = (uchar) bazip[i];
00156 dataString += hexchars[c >> 4];
00157 dataString += hexchars[c & 0x0f];
00158 }
00159
00160 createStringNode( doc, pixmapElement, "Format", "XPM.GZ" );
00161 createIntNode( doc, pixmapElement, "Length", ba.size() );
00162 createStringNode( doc, pixmapElement, "Data", dataString );
00163 }
00164
00165
00166 void createRectNode( TQDomDocument& doc, TQDomNode& parent,
00167 const TQString& elementName, const TQRect& rect )
00168 {
00169 TQDomElement rectElement = doc.createElement( elementName );
00170 parent.appendChild( rectElement );
00171 TQDomElement xElement = doc.createElement( "X" );
00172 rectElement.appendChild( xElement );
00173 TQDomText xContent = doc.createTextNode( TQString::number( rect.x() ) );
00174 xElement.appendChild( xContent );
00175 TQDomElement yElement = doc.createElement( "Y" );
00176 rectElement.appendChild( yElement );
00177 TQDomText yContent = doc.createTextNode( TQString::number( rect.y() ) );
00178 yElement.appendChild( yContent );
00179 TQDomElement widthElement = doc.createElement( "Width" );
00180 rectElement.appendChild( widthElement );
00181 TQDomText widthContent = doc.createTextNode( TQString::number( rect.width() ) );
00182 widthElement.appendChild( widthContent );
00183 TQDomElement heightElement = doc.createElement( "Height" );
00184 rectElement.appendChild( heightElement );
00185 TQDomText heightContent = doc.createTextNode( TQString::number( rect.height() ) );
00186 heightElement.appendChild( heightContent );
00187 }
00188
00189
00190 void createStringListNodes( TQDomDocument& doc, TQDomNode& parent,
00191 const TQString& elementName,
00192 const TQStringList* list )
00193 {
00194 if( !list )
00195 return;
00196
00197 for( TQStringList::ConstIterator it = list->begin();
00198 it != list->end(); ++it ) {
00199 TQDomElement element = doc.createElement( elementName );
00200 parent.appendChild( element );
00201 TQDomText elementContent = doc.createTextNode( *it );
00202 element.appendChild( elementContent );
00203 }
00204 }
00205
00206
00207 void createFontNode( TQDomDocument& doc, TQDomNode& parent,
00208 const TQString& elementName, const TQFont& font )
00209 {
00210 TQDomElement fontElement = doc.createElement( elementName );
00211 parent.appendChild( fontElement );
00212 createStringNode( doc, fontElement, "Family", font.family() );
00213 createIntNode( doc, fontElement, "PointSize", font.pointSize() );
00214 createIntNode( doc, fontElement, "PixelSize", font.pixelSize() );
00215 createIntNode( doc, fontElement, "Weight", font.weight() );
00216 createBoolNode( doc, fontElement, "Italic", font.italic() );
00217 #if QT_VERSION < 300
00218
00219 createIntNode( doc, fontElement, "CharSet", font.charSet() );
00220 #endif
00221 }
00222
00223
00224 void createPenNode( TQDomDocument& doc, TQDomNode& parent,
00225 const TQString& elementName, const TQPen& pen )
00226 {
00227 TQDomElement penElement = doc.createElement( elementName );
00228 parent.appendChild( penElement );
00229 createIntNode( doc, penElement, "Width", pen.width() );
00230 createColorNode( doc, penElement, "Color", pen.color() );
00231 createStringNode( doc, penElement, "Style", penStyleToString( pen.style() ) );
00232 }
00233
00234
00235 void createDateTimeNode( TQDomDocument& doc, TQDomNode& parent,
00236 const TQString& elementName,
00237 const TQDateTime& datetime )
00238 {
00239 TQDomElement dateTimeElement = doc.createElement( elementName );
00240 parent.appendChild( dateTimeElement );
00241 createDateNode( doc, dateTimeElement, "Date", datetime.date() );
00242 createTimeNode( doc, dateTimeElement, "Time", datetime.time() );
00243 }
00244
00245
00246 void createDateNode( TQDomDocument& doc, TQDomNode& parent,
00247 const TQString& elementName, const TQDate& date )
00248 {
00249 TQDomElement dateElement = doc.createElement( elementName );
00250 parent.appendChild( dateElement );
00251 dateElement.setAttribute( "Year", TQString::number( date.year() ) );
00252 dateElement.setAttribute( "Month", TQString::number( date.month() ) );
00253 dateElement.setAttribute( "Day", TQString::number( date.day() ) );
00254 }
00255
00256
00257 void createTimeNode( TQDomDocument& doc, TQDomNode& parent,
00258 const TQString& elementName, const TQTime& time )
00259 {
00260 TQDomElement timeElement = doc.createElement( elementName );
00261 parent.appendChild( timeElement );
00262 timeElement.setAttribute( "Hour",
00263 TQString::number( time.hour() ) );
00264 timeElement.setAttribute( "Minute",
00265 TQString::number( time.minute() ) );
00266 timeElement.setAttribute( "Second",
00267 TQString::number( time.second() ) );
00268 timeElement.setAttribute( "Millisecond",
00269 TQString::number( time.msec() ) );
00270 }
00271
00272
00273 TQString penStyleToString( Qt::PenStyle style )
00274 {
00275 switch( style ) {
00276 case Qt::NoPen:
00277 return "NoPen";
00278 case Qt::SolidLine:
00279 return "SolidLine";
00280 case Qt::DashLine:
00281 return "DashLine";
00282 case Qt::DotLine:
00283 return "DotLine";
00284 case Qt::DashDotLine:
00285 return "DashDotLine";
00286 case Qt::DashDotDotLine:
00287 return "DashDotDotLine";
00288 default:
00289 return "SolidLine";
00290 }
00291 }
00292
00293
00294
00295 TQString brushStyleToString( Qt::BrushStyle style )
00296 {
00297
00298 switch( style ) {
00299 case Qt::NoBrush:
00300 return "NoBrush";
00301 case Qt::SolidPattern:
00302 return "SolidPattern";
00303 case Qt::Dense1Pattern:
00304 return "Dense1Pattern";
00305 case Qt::Dense2Pattern:
00306 return "Dense2Pattern";
00307 case Qt::Dense3Pattern:
00308 return "Dense3Pattern";
00309 case Qt::Dense4Pattern:
00310 return "Dense4Pattern";
00311 case Qt::Dense5Pattern:
00312 return "Dense5Pattern";
00313 case Qt::Dense6Pattern:
00314 return "Dense6Pattern";
00315 case Qt::Dense7Pattern:
00316 return "Dense7Pattern";
00317 case Qt::HorPattern:
00318 return "HorPattern";
00319 case Qt::VerPattern:
00320 return "VerPattern";
00321 case Qt::CrossPattern:
00322 return "CrossPattern";
00323 case Qt::BDiagPattern:
00324 return "BDiagPattern";
00325 case Qt::FDiagPattern:
00326 return "FDiagPattern";
00327 case Qt::DiagCrossPattern:
00328 return "DiagCrossPattern";
00329 default:
00330 return "SolidPattern";
00331 }
00332 }
00333
00334
00335 bool readStringNode( const TQDomElement& element, TQString& value )
00336 {
00337 value = element.text();
00338 return true;
00339 }
00340
00341
00342 bool readIntNode( const TQDomElement& element, int& value )
00343 {
00344 bool ok = false;
00345 int temp = element.text().toInt( &ok );
00346 if( ok )
00347 value = temp;
00348 return ok;
00349 }
00350
00351
00352 bool readDoubleNode( const TQDomElement& element, double& value )
00353 {
00354 bool ok = false;
00355 double temp = element.text().toDouble( &ok );
00356 if( ok )
00357 value = temp;
00358 return ok;
00359 }
00360
00361
00362 bool readBoolNode( const TQDomElement& element, bool& value )
00363 {
00364 if( element.text() == "true" ) {
00365 value = true;
00366 return true;
00367 } else if( element.text() == "false" ) {
00368 value = false;
00369 return true;
00370 } else
00371 return false;
00372 }
00373
00374
00375 bool readColorNode( const TQDomElement& element, TQColor& value )
00376 {
00377 bool ok = true;
00378 int red, green, blue;
00379 if( element.hasAttribute( "Red" ) ) {
00380 bool redOk = false;
00381 red = element.attribute( "Red" ).toInt( &redOk );
00382 ok = ok & redOk;
00383 }
00384 if( element.hasAttribute( "Green" ) ) {
00385 bool greenOk = false;
00386 green = element.attribute( "Green" ).toInt( &greenOk );
00387 ok = ok & greenOk;
00388 }
00389 if( element.hasAttribute( "Blue" ) ) {
00390 bool blueOk = false;
00391 blue = element.attribute( "Blue" ).toInt( &blueOk );
00392 ok = ok & blueOk;
00393 }
00394
00395 if( ok )
00396 value.setRgb( red, green, blue );
00397
00398 return ok;
00399 }
00400
00401
00402 bool readBrushNode( const TQDomElement& element, TQBrush& brush )
00403 {
00404 bool ok = true;
00405 TQColor tempColor;
00406 Qt::BrushStyle tempStyle;
00407 TQPixmap tempPixmap;
00408 TQDomNode node = element.firstChild();
00409 while( !node.isNull() ) {
00410 TQDomElement element = node.toElement();
00411 if( !element.isNull() ) {
00412 TQString tagName = element.tagName();
00413 if( tagName == "Color" ) {
00414 ok = ok & readColorNode( element, tempColor );
00415 } else if( tagName == "Style" ) {
00416 TQString value;
00417 ok = ok & readStringNode( element, value );
00418 tempStyle = stringToBrushStyle( value );
00419 } else if( tagName == "Pixmap" ) {
00420 ok = ok & readPixmapNode( element, tempPixmap );
00421 } else {
00422 qDebug( "Unknown tag in brush" );
00423 }
00424 }
00425 node = node.nextSibling();
00426 }
00427
00428 if( ok ) {
00429 brush.setColor( tempColor );
00430 brush.setStyle( tempStyle );
00431 if( !tempPixmap.isNull() )
00432 brush.setPixmap( tempPixmap );
00433 }
00434
00435 return ok;
00436 }
00437
00438
00439 bool readPixmapNode( const TQDomElement& element, TQPixmap& pixmap )
00440 {
00441 bool ok = true;
00442 int tempLengthi;
00443 TQString tempData;
00444 TQDomNode node = element.firstChild();
00445 while( !node.isNull() ) {
00446 TQDomElement element = node.toElement();
00447 if( !element.isNull() ) {
00448 TQString tagName = element.tagName();
00449 if( tagName == "Format" ) {
00450 TQString formatName;
00451 ok = ok & readStringNode( element, formatName );
00452 #ifndef NDEBUG
00453 if( formatName != "XPM.GZ" )
00454 qDebug( "Unsupported pixmap format in XML file" );
00455 #endif
00456 } else if( tagName == "Length" ) {
00457 ok = ok & readIntNode( element, tempLengthi );
00458 } else if( tagName == "Data" ) {
00459 ok = ok & readStringNode( element, tempData );
00460 } else {
00461 qDebug( "Unknown tag in Pixmap" );
00462 }
00463 }
00464 node = node.nextSibling();
00465 }
00466
00467 if( ok ) {
00468 if( 0 < tempLengthi ) {
00469
00470 char *ba = new char[ tempData.length() / 2 ];
00471 for ( int i = 0; i < (int)tempData.length() / 2; ++i ) {
00472 char h = tempData[ 2 * i ].latin1();
00473 char l = tempData[ 2 * i + 1 ].latin1();
00474 uchar r = 0;
00475 if ( h <= '9' )
00476 r += h - '0';
00477 else
00478 r += h - 'a' + 10;
00479 r = r << 4;
00480 if ( l <= '9' )
00481 r += l - '0';
00482 else
00483 r += l - 'a' + 10;
00484 ba[ i ] = r;
00485 }
00486
00487 if( tempLengthi < (int)tempData.length() * 5 )
00488 tempLengthi = tempData.length() * 5;
00489 unsigned long tempLength = tempLengthi;
00490 TQByteArray baunzip( tempLength );
00491 ::uncompress( (uchar*) baunzip.data(), &tempLength,
00492 (uchar*) ba, tempData.length()/2 );
00493 TQImage image;
00494 image.loadFromData( (const uchar*)baunzip.data(), tempLength, "XPM" );
00495
00496 if( image.isNull() )
00497 pixmap.resize( 0, 0 );
00498 else
00499 ok = ok & pixmap.convertFromImage( image, 0 );
00500 } else
00501 pixmap.resize( 0, 0 );
00502 }
00503
00504 return ok;
00505 }
00506
00507
00508 bool readPenNode( const TQDomElement& element, TQPen& pen )
00509 {
00510 bool ok = true;
00511 int tempWidth;
00512 TQColor tempColor;
00513 Qt::PenStyle tempStyle;
00514 TQDomNode node = element.firstChild();
00515 while( !node.isNull() ) {
00516 TQDomElement element = node.toElement();
00517 if( !element.isNull() ) {
00518 TQString tagName = element.tagName();
00519 if( tagName == "Width" ) {
00520 ok = ok & readIntNode( element, tempWidth );
00521 } else if( tagName == "Color" ) {
00522 ok = ok & readColorNode( element, tempColor );
00523 } else if( tagName == "Style" ) {
00524 TQString value;
00525 ok = ok & readStringNode( element, value );
00526 tempStyle = stringToPenStyle( value );
00527 } else {
00528 qDebug( "Unknown tag in brush" );
00529 }
00530 }
00531 node = node.nextSibling();
00532 }
00533
00534 if( ok ) {
00535 pen.setWidth( tempWidth );
00536 pen.setColor( tempColor );
00537 pen.setStyle( tempStyle );
00538 }
00539
00540 return ok;
00541 }
00542
00543 bool readFontNode( const TQDomElement& element, TQFont& font )
00544 {
00545 bool ok = true;
00546 TQString family;
00547 int pointSize, pixelSize, weight;
00548 bool italic;
00549 int charSet;
00550 TQDomNode node = element.firstChild();
00551 while( !node.isNull() ) {
00552 TQDomElement element = node.toElement();
00553 if( !element.isNull() ) {
00554 TQString tagName = element.tagName();
00555 if( tagName == "Family" ) {
00556 ok = ok & readStringNode( element, family );
00557 } else if( tagName == "PointSize" ) {
00558 ok = ok & readIntNode( element, pointSize );
00559 } else if( tagName == "PixelSize" ) {
00560 ok = ok & readIntNode( element, pixelSize );
00561 } else if( tagName == "Weight" ) {
00562 ok = ok & readIntNode( element, weight );
00563 } else if( tagName == "Italic" ) {
00564 ok = ok & readBoolNode( element, italic );
00565 } else if( tagName == "CharSet" ) {
00566 ok = ok & readIntNode( element, charSet );
00567 } else {
00568 qDebug( "Unknown tag in color map" );
00569 }
00570 }
00571 node = node.nextSibling();
00572 }
00573
00574 if( ok ) {
00575 font.setFamily( family );
00576 if ( pointSize > 0 ) font.setPointSize( pointSize );
00577 if ( pixelSize > 0 ) font.setPixelSize( pixelSize );
00578 font.setWeight( weight );
00579 font.setItalic( italic );
00580 #if QT_VERSION < 300
00581
00582 font.setCharSet( (TQFont::CharSet)charSet );
00583 #endif
00584 }
00585
00586 return ok;
00587 }
00588
00589 bool readRectNode( const TQDomElement& element, TQRect& value )
00590 {
00591 bool ok = true;
00592 int width, height, x, y;
00593 TQDomNode node = element.firstChild();
00594 while( !node.isNull() ) {
00595 TQDomElement element = node.toElement();
00596 if( !element.isNull() ) {
00597 TQString tagName = element.tagName();
00598 if( tagName == "Width" ) {
00599 ok = ok & readIntNode( element, width );
00600 } else if( tagName == "Height" ) {
00601 ok = ok & readIntNode( element, height );
00602 } else if( tagName == "X" ) {
00603 ok = ok & readIntNode( element, x );
00604 } else if( tagName == "Y" ) {
00605 ok = ok & readIntNode( element, y );
00606 } else {
00607 qDebug( "Unknown tag in rect" );
00608 }
00609 }
00610 node = node.nextSibling();
00611 }
00612
00613 if( ok ) {
00614 value.setX( x );
00615 value.setY( y );
00616 value.setWidth( width );
00617 value.setHeight( height );
00618 }
00619
00620 return ok;
00621 }
00622
00623
00624
00625 bool readDateTimeNode( const TQDomElement& element, TQDateTime& datetime )
00626 {
00627 bool ok = true;
00628 TQDate tempDate;
00629 TQTime tempTime;
00630 TQDomNode node = element.firstChild();
00631 while( !node.isNull() ) {
00632 TQDomElement element = node.toElement();
00633 if( !element.isNull() ) {
00634 TQString tagName = element.tagName();
00635 if( tagName == "Date" ) {
00636 ok = ok & readDateNode( element, tempDate );
00637 } else if( tagName == "Time" ) {
00638 ok = ok & readTimeNode( element, tempTime );
00639 } else {
00640 qDebug( "Unknown tag in datetime" );
00641 }
00642 }
00643 node = node.nextSibling();
00644 }
00645
00646 if( ok ) {
00647 datetime.setDate( tempDate );
00648 datetime.setTime( tempTime );
00649 }
00650
00651 return ok;
00652 }
00653
00654
00655 bool readDateNode( const TQDomElement& element, TQDate& value )
00656 {
00657 bool ok = true;
00658 int year, month, day;
00659 if( element.hasAttribute( "Year" ) ) {
00660 bool yearOk = false;
00661 year = element.attribute( "Year" ).toInt( &yearOk );
00662 ok = ok & yearOk;
00663 }
00664 if( element.hasAttribute( "Month" ) ) {
00665 bool monthOk = false;
00666 month = element.attribute( "Month" ).toInt( &monthOk );
00667 ok = ok & monthOk;
00668 }
00669 if( element.hasAttribute( "Day" ) ) {
00670 bool dayOk = false;
00671 day = element.attribute( "Day" ).toInt( &dayOk );
00672 ok = ok & dayOk;
00673 }
00674
00675 if( ok )
00676 value.setYMD( year, month, day );
00677
00678 return ok;
00679 }
00680
00681
00682
00683 bool readTimeNode( const TQDomElement& element, TQTime& value )
00684 {
00685 bool ok = true;
00686 int hour, minute, second, msec;
00687 if( element.hasAttribute( "Hour" ) ) {
00688 bool hourOk = false;
00689 hour = element.attribute( "Hour" ).toInt( &hourOk );
00690 ok = ok & hourOk;
00691 }
00692 if( element.hasAttribute( "Minute" ) ) {
00693 bool minuteOk = false;
00694 minute = element.attribute( "Minute" ).toInt( &minuteOk );
00695 ok = ok & minuteOk;
00696 }
00697 if( element.hasAttribute( "Second" ) ) {
00698 bool secondOk = false;
00699 second = element.attribute( "Second" ).toInt( &secondOk );
00700 ok = ok & secondOk;
00701 }
00702 if( element.hasAttribute( "Millisecond" ) ) {
00703 bool msecOk = false;
00704 msec = element.attribute( "Millisecond" ).toInt( &msecOk );
00705 ok = ok & msecOk;
00706 }
00707
00708 if( ok )
00709 value.setHMS( hour, minute, second, msec );
00710
00711 return ok;
00712 }
00713
00714
00715
00716 Qt::PenStyle stringToPenStyle( const TQString& style )
00717 {
00718 if( style == "NoPen" )
00719 return Qt::NoPen;
00720 else if( style == "SolidLine" )
00721 return Qt::SolidLine;
00722 else if( style == "DashLine" )
00723 return Qt::DashLine;
00724 else if( style == "DotLine" )
00725 return Qt::DotLine;
00726 else if( style == "DashDotLine" )
00727 return Qt::DashDotLine;
00728 else if( style == "DashDotDotLine" )
00729 return Qt::DashDotDotLine;
00730 else
00731 return Qt::SolidLine;
00732 }
00733
00734
00735 Qt::BrushStyle stringToBrushStyle( const TQString& style )
00736 {
00737
00738 if( style == "NoBrush" )
00739 return Qt::NoBrush;
00740 else if( style == "SolidPattern" )
00741 return Qt::SolidPattern;
00742 else if( style == "Dense1Pattern" )
00743 return Qt::Dense1Pattern;
00744 else if( style == "Dense2Pattern" )
00745 return Qt::Dense2Pattern;
00746 else if( style == "Dense3Pattern" )
00747 return Qt::Dense3Pattern;
00748 else if( style == "Dense4Pattern" )
00749 return Qt::Dense4Pattern;
00750 else if( style == "Dense5Pattern" )
00751 return Qt::Dense5Pattern;
00752 else if( style == "Dense6Pattern" )
00753 return Qt::Dense6Pattern;
00754 else if( style == "Dense7Pattern" )
00755 return Qt::Dense7Pattern;
00756 else if( style == "HorPattern" )
00757 return Qt::HorPattern;
00758 else if( style == "VerPattern" )
00759 return Qt::VerPattern;
00760 else if( style == "CrossPattern" )
00761 return Qt::CrossPattern;
00762 else if( style == "BDiagPattern" )
00763 return Qt::BDiagPattern;
00764 else if( style == "FDiagPattern" )
00765 return Qt::FDiagPattern;
00766 else if( style == "DiagCrossPattern" )
00767 return Qt::DiagCrossPattern;
00768 else
00769 return Qt::SolidPattern;
00770 }
00771
00772 }