diff -r 658ad3bc0c8a -r dfbc371b7280 frameobj.cpp --- a/frameobj.cpp Sat Mar 31 09:28:27 2007 +0000 +++ b/frameobj.cpp Sat Mar 31 09:28:27 2007 +0000 @@ -26,6 +26,8 @@ { type=NoFrame; border=0; + penColor=QColor (Qt::black); + brushColor=QColor (Qt::white); } void FrameObj::clear() @@ -129,17 +131,19 @@ break; case Rectangle: border=10; - rectFrame = scene->addRect(QRectF(0,0,0,0), QPen(QColor("black") ), QColor("white")); + rectFrame = scene->addRect(QRectF(0,0,0,0), QPen(penColor), brushColor); rectFrame->setZValue(Z_FRAME); + rectFrame->show(); break; case Ellipse: border=10; - ellipseFrame = scene->addEllipse(QRectF(0,0,0,0), QPen(QColor("black") ), QColor("white")); + ellipseFrame = scene->addEllipse(QRectF(0,0,0,0), QPen(penColor), brushColor); ellipseFrame->setZValue(Z_FRAME); + ellipseFrame->show(); break; } - setVisibility (visible); } + setVisibility (visible); } void FrameObj::setFrameType(const QString &t) @@ -152,6 +156,46 @@ FrameObj::setFrameType (NoFrame); } +void FrameObj::setPenColor (QColor col) +{ + penColor=col; + repaint(); +} + +QColor FrameObj::getPenColor () +{ + return penColor; +} + +void FrameObj::setBrushColor (QColor col) +{ + brushColor=col; + repaint(); +} + +QColor FrameObj::getBrushColor () +{ + return brushColor; +} + +void FrameObj::repaint() +{ + switch (type) + { + case Rectangle: + rectFrame->setPen (penColor); + rectFrame->setBrush (brushColor); + break; + case Ellipse: + ellipseFrame->setPen (penColor); + ellipseFrame->setBrush (brushColor); + break; + default: + break; + } +} + + void FrameObj::setVisibility (bool v) { MapObj::setVisibility(v); @@ -177,6 +221,8 @@ QString FrameObj::saveToDir () { QString frameTypeAttr=attribut ("frameType",getFrameTypeName()); - return singleElement ("frame",frameTypeAttr); + QString penColAttr=attribut ("penColor",penColor.name() ); + QString brushColAttr=attribut ("brushColor",brushColor.name() ); + return singleElement ("frame",frameTypeAttr + penColAttr + brushColAttr); }