flagrow.h
author insilmaril
Thu, 18 Mar 2010 11:46:52 +0000
changeset 839 fbb927bbdda3
parent 774 2f002657dada
permissions -rw-r--r--
Version bump to 1.13.1 due to first release of 1.13.0 to openSUSE buildservice
insilmaril@774
     1
#ifndef FLAGROW_H
insilmaril@774
     2
#define FLAGROW_H
insilmaril@774
     3
insilmaril@774
     4
#include <QStringList>
insilmaril@774
     5
#include <QToolBar>
insilmaril@774
     6
insilmaril@774
     7
#include "flag.h"
insilmaril@774
     8
#include "xmlobj.h"
insilmaril@774
     9
insilmaril@774
    10
/*! \brief A set of flags (Flag). 
insilmaril@774
    11
insilmaril@774
    12
   A toolbar can be created from the flags in this row.
insilmaril@774
    13
   The data needed for represention in a vym map 
insilmaril@774
    14
   is stored in FlagRowObj.
insilmaril@774
    15
 */
insilmaril@774
    16
insilmaril@774
    17
class FlagRow:public XMLObj {
insilmaril@774
    18
public:
insilmaril@774
    19
    FlagRow ();
insilmaril@774
    20
    ~FlagRow ();
insilmaril@774
    21
	void addFlag (Flag *flag);
insilmaril@774
    22
	Flag *getFlag (const QString &name);
insilmaril@774
    23
	QStringList  activeFlagNames();
insilmaril@774
    24
	bool isActive(const QString &name);
insilmaril@774
    25
insilmaril@774
    26
	/*! \brief Toggle a Flag 
insilmaril@774
    27
		
insilmaril@774
    28
		To activate a flag it will be copied from masterRow to current row.
insilmaril@774
    29
	*/	
insilmaril@774
    30
	void toggle (const QString&, FlagRow *masterRow=NULL);
insilmaril@774
    31
	void activate(const QString&);
insilmaril@774
    32
	void deactivate(const QString&);
insilmaril@774
    33
	void deactivateAll();
insilmaril@774
    34
	void setEnabled (bool);
insilmaril@774
    35
	void setShowFlags (bool);
insilmaril@774
    36
	void resetUsedCounter();
insilmaril@774
    37
	QString saveToDir (const QString &,const QString &,bool);
insilmaril@774
    38
	void setName (const QString&);			// prefix for exporting flags to dir
insilmaril@774
    39
	void setToolBar   (QToolBar *tb);
insilmaril@774
    40
	void setMasterRow (FlagRow *row);
insilmaril@774
    41
	void updateToolBar(const QStringList &activeNames);
insilmaril@774
    42
insilmaril@774
    43
private:	
insilmaril@774
    44
	QToolBar *toolBar;
insilmaril@774
    45
	FlagRow *masterRow;
insilmaril@774
    46
	QList <Flag*> flags; 
insilmaril@774
    47
	QStringList activeNames;	//! Lists all names of currently active flags
insilmaril@774
    48
	QString rowName;			//! Name of this collection of flags
insilmaril@774
    49
//	bool showFlags;				// FloatObjects want to hide their flags
insilmaril@774
    50
};
insilmaril@774
    51
#endif
insilmaril@774
    52