]> git.sven.stormbind.net Git - sven/vym.git/blob - flagrowobj.h
Import Upstream version 2.6.11
[sven/vym.git] / 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 init ();
22     virtual void copy (FlagRowObj*);
23     virtual void move   (double,double);
24     virtual void moveBy (double,double);
25     virtual void setZValue (double z);
26     virtual void setVisibility(bool);
27     virtual FlagObj* addFlag (FlagObj *fo);         // make deep copy of FlagObj
28     virtual QStringList activeFlagNames();
29     virtual void positionBBox();
30     virtual void calcBBoxSize();
31     virtual QString getFlagName (const QPointF &p); // Find flag by position
32     bool isActive(const QString&);
33     void activate (Flag *flag);
34     void deactivate(const QString&);
35     void setShowFlags (bool);
36     FlagObj* findFlag (const QString&);
37 private:    
38     QList <FlagObj*> flag; 
39     bool showFlags;                         // FloatObjects want to hide their flags
40 };
41 #endif