X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=flagrowobj.cpp;fp=flagrowobj.cpp;h=0000000000000000000000000000000000000000;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=a5463125b8836717c113ef309acc3128e86b9b8d;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/flagrowobj.cpp b/flagrowobj.cpp deleted file mode 100644 index a546312..0000000 --- a/flagrowobj.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include -#include - -#include "flag.h" -#include "flagrowobj.h" - -#include "geometry.h" - -///////////////////////////////////////////////////////////////// -// FlagRowObj -///////////////////////////////////////////////////////////////// -FlagRowObj::FlagRowObj() -{ -// qDebug() << "Const FlagRowObj ()"; - init (); -} - -FlagRowObj::FlagRowObj(QGraphicsItem *parent):MapObj(parent) -{ -// qDebug() << "Const FlagRowObj (p)"; - init (); -} - -FlagRowObj::~FlagRowObj() -{ - //qDebug() << "Destr FlagRowObj"; - while (!flag.isEmpty()) - delete (flag.takeFirst() ); -} - -void FlagRowObj::init () -{ - showFlags=true; -} - -void FlagRowObj::copy (FlagRowObj* other) -{ - MapObj::copy(other); - flag.clear(); - for (int i=0; imove(x+dx,y); - dx+=QSizeF(flag.at(i)->getSize() ).width(); - } -} - -void FlagRowObj::moveBy(double x, double y) -{ - move (x+absPos.x(),y+absPos.y() ); -} - -void FlagRowObj::setZValue (double z) -{ - for (int i=0; isetZValue (z); -} - -void FlagRowObj::setVisibility (bool v) -{ - MapObj::setVisibility(v); - for (int i=0; isetVisibility (v); -} - -FlagObj* FlagRowObj::addFlag (FlagObj *fo) -{ - FlagObj *newfo=new FlagObj (parentItem() ); - newfo->copy (fo); // create a deep copy of fo - newfo->move (absPos.x() + bbox.width(), absPos.y() ); - flag.append(newfo); - calcBBoxSize(); - positionBBox(); - return newfo; -} - -QStringList FlagRowObj::activeFlagNames() -{ - QStringList list; - for (int i=0; igetName()); - return list; -} - -void FlagRowObj::positionBBox() -{ - bbox.moveTopLeft(absPos ); - clickPoly=QPolygonF (bbox); -} - -void FlagRowObj::calcBBoxSize() -{ - QSizeF size(0,0); - QSizeF boxsize(0,0); - for (int i=0; igetSize(); - // add widths - boxsize.setWidth(boxsize.width() + size.width() ); - // maximize height - if (size.height() > boxsize.height() ) - boxsize.setHeight(size.height() ); - } - bbox.setSize (boxsize); - clickPoly=QPolygonF (bbox); -} - -QString FlagRowObj::getFlagName (const QPointF &p) -{ - if (!isInBox (p,clickPoly.boundingRect() )) return ""; - for (int i=0; igetClickPoly().boundingRect() )) return flag.at(i)->getName(); - return ""; -} - -bool FlagRowObj::isActive (const QString &foname) -{ - FlagObj *fo=findFlag (foname); - if (fo) - return true; - else - return false; -} - -void FlagRowObj::activate (Flag *flag) -{ - if (flag) - { - FlagObj *fo=addFlag (new FlagObj (this)); - fo->load (flag->getPixmap() ); - fo->setName (flag->getName() ); - fo->activate(); - if (showFlags) // necessary? only called from FIO::init - fo->setVisibility (visible); - else - fo->setVisibility (false); - calcBBoxSize(); - } -} - -void FlagRowObj::deactivate (const QString &foname) -{ - FlagObj *fo=findFlag (foname); - if (fo) - { - flag.removeAll(fo); - delete (fo); - } - calcBBoxSize(); - positionBBox(); -} - -void FlagRowObj::setShowFlags (bool b) -{ - showFlags=b; -} - -FlagObj* FlagRowObj::findFlag (const QString &name) -{ - for (int i=0; igetName()==name) return flag.at(i); - return NULL; -} -