diff -r f3cc8813844f -r fad762341d2d ornamentedobj.cpp --- a/ornamentedobj.cpp Tue Mar 14 14:27:04 2006 +0000 +++ b/ornamentedobj.cpp Tue Mar 14 14:27:08 2006 +0000 @@ -53,13 +53,19 @@ standardFlags=new FlagRowObj(canvas); standardFlags->clone(standardFlagsDefault); standardFlags->setName ("standardFlags"); + + hideExport=false; + + url=""; + vymLink=""; + } void OrnamentedObj::copy (OrnamentedObj* other) { LinkableMapObj::copy(other); heading->copy(other->heading); - setColor (other->heading->getColor(),false); + setColor (other->heading->getColor()); note.copy (other->note); systemFlags->copy (other->systemFlags); @@ -67,6 +73,9 @@ ornamentsBBox=other->ornamentsBBox; + hideExport=other->hideExport; + url=other->url; + vymLink=other->vymLink; } QString OrnamentedObj::getHeading() @@ -82,6 +91,12 @@ LinkableMapObj::setLinkColor (mapEditor->getDefLinkColor()); } +void OrnamentedObj::setColor (QColor col) +{ + heading->setColor(col); + setLinkColor(); +} + QColor OrnamentedObj::getColor () { return heading->getColor(); @@ -195,6 +210,59 @@ return note.getNoteOpenDoc(); } +void OrnamentedObj::setURL(QString s) +{ + url=s; + if (!url.isEmpty()) + systemFlags->activate("url"); + else + systemFlags->deactivate("url"); + calcBBoxSize(); // recalculate bbox + positionBBox(); // rearrange contents + forceReposition(); +} + +QString OrnamentedObj::getURL() +{ + return url; +} + +void OrnamentedObj::setVymLink(QString s) +{ + if (!s.isEmpty()) + { + // We need the relative (from loading) + // or absolute path (from User event) + // and build the absolute path. + // Note: If we have relative, use path of + // current map to build absolute path + QDir d(s); + if (!d.path().startsWith ("/")) + { + QString p=mapEditor->getDestPath(); + int i=p.findRev("/",-1); + d.setPath(p.left(i)+"/"+s); + d.convertToAbs(); + } + vymLink=d.path(); + systemFlags->activate("vymLink"); + } + else + { + systemFlags->deactivate("vymLink"); + vymLink=""; + } + calcBBoxSize(); // recalculate bbox + positionBBox(); // rearrange contents + forceReposition(); +} + +QString OrnamentedObj::getVymLink() +{ + return vymLink; +} + + void OrnamentedObj::toggleStandardFlag(QString f, bool exclusive) { standardFlags->toggle(f,exclusive); @@ -239,3 +307,46 @@ } } +void OrnamentedObj::setHideInExport(bool b) +{ + hideExport=b; + if (b) + systemFlags->activate("hideInExport"); + else + systemFlags->deactivate("hideInExport"); + calcBBoxSize(); + positionBBox(); + requestReposition(); +} + +bool OrnamentedObj::hideInExport() +{ + return hideExport; +} + +QString OrnamentedObj::getOrnAttr() +{ + QString posAttr; + if (depth==0 || depth==1) posAttr= + attribut("absPosX",QString().setNum(absPos.x(),10)) + + attribut("absPosY",QString().setNum(absPos.y(),10)); + else + posAttr=""; + + QString urlAttr; + if (!url.isEmpty()) + urlAttr=attribut ("url",url); + + QString vymLinkAttr; + if (!vymLink.isEmpty()) + vymLinkAttr=attribut ("vymLink",convertToRel(mapEditor->getDestPath(),vymLink) ); + + QString hideExpAttr; + if (hideExport) + hideExpAttr= attribut("hideInExport","true"); + else + hideExpAttr=""; + + return posAttr +urlAttr +vymLinkAttr +getLinkAttr() +hideExpAttr; +} +