]> git.sven.stormbind.net Git - sven/vym.git/blob - src/flagrowobj.h
Replace Pierre as the maintainer
[sven/vym.git] / src / flagrowobj.h
1 #ifndef FLAGROWOBJ_H
2 #define FLAGROWOBJ_H
3
4 #include <QMainWindow>
5
6 //#include "mapobj.h"
7 #include "flagobj.h"
8
9 class Flag;
10
11 /*! \brief A collection of flags (FlagObj) in a map.
12
13    The flags are aligned horizontally  in a row on the map.
14  */
15
16 class FlagRowObj : public MapObj {
17   public:
18     FlagRowObj();
19     FlagRowObj(QGraphicsItem *);
20     ~FlagRowObj();
21     virtual void move(double, double);
22     virtual void moveBy(double, double);
23     virtual void setZValue(double z);
24     virtual void setVisibility(bool);
25     void updateActiveFlagObjs(const QList<QUuid>, FlagRowMaster *masterRowMain,
26                               FlagRowMaster *masterRowOptional = NULL);
27     virtual void positionBBox();
28     virtual void calcBBoxSize();
29     bool isFlagActive(const QUuid &);
30     void activateFlag(Flag *flag);
31     FlagObj *findFlagObjByUid(const QUuid &);
32     virtual QUuid findFlagUidByPos(const QPointF &p); // Find flag by position
33   private:
34     QList<FlagObj *> flagobjs;
35     bool showFlags; // FloatObjects want to hide their flags
36 };
37 #endif