flagrowobj.h
author insilmaril
Thu, 03 Sep 2009 08:52:00 +0000
changeset 790 133e2ed6b9c5
parent 767 6d2b32f305f9
child 819 8f987e376035
permissions -rw-r--r--
More work on xLinks
insilmaril@0
     1
#ifndef FLAGROWOBJ_H
insilmaril@0
     2
#define FLAGROWOBJ_H
insilmaril@0
     3
insilmaril@366
     4
#include <QMainWindow>
insilmaril@0
     5
insilmaril@766
     6
//#include "mapobj.h"
insilmaril@0
     7
#include "flagobj.h"
insilmaril@0
     8
insilmaril@767
     9
class Flag;
insilmaril@767
    10
insilmaril@767
    11
/*! \brief A collection of flags (FlagObj) in a map. 
insilmaril@468
    12
insilmaril@468
    13
   The flags are aligned horizontally  in a row on the map. 
insilmaril@468
    14
 */
insilmaril@468
    15
insilmaril@767
    16
class FlagRowObj:public MapObj {
insilmaril@0
    17
public:
insilmaril@0
    18
    FlagRowObj ();
insilmaril@408
    19
    FlagRowObj (QGraphicsScene *);
insilmaril@0
    20
    ~FlagRowObj ();
insilmaril@0
    21
    virtual void init ();
insilmaril@0
    22
    virtual void copy (FlagRowObj*);
insilmaril@0
    23
    virtual void move   (double,double);
insilmaril@0
    24
    virtual void moveBy (double,double);
insilmaril@0
    25
    virtual void setVisibility(bool);
insilmaril@0
    26
    virtual FlagObj* addFlag (FlagObj *fo);			// make deep copy of FlagObj
insilmaril@767
    27
	virtual QStringList activeFlagNames();
insilmaril@0
    28
    virtual void positionBBox();
insilmaril@0
    29
    virtual void calcBBoxSize();
insilmaril@408
    30
	virtual QString getFlagName (const QPointF &p);	// Find flag by position
insilmaril@0
    31
	bool isActive(const QString&);
insilmaril@767
    32
	void activate (Flag *flag);
insilmaril@0
    33
	void deactivate(const QString&);
insilmaril@257
    34
	void setShowFlags (bool);
insilmaril@0
    35
private:	
insilmaril@0
    36
	FlagObj* findFlag (const QString&);
insilmaril@406
    37
    QList <FlagObj*> flag; 
insilmaril@257
    38
	bool showFlags;							// FloatObjects want to hide their flags
insilmaril@0
    39
};
insilmaril@0
    40
#endif