insilmaril@774: #ifndef FLAGROW_H insilmaril@774: #define FLAGROW_H insilmaril@774: insilmaril@774: #include insilmaril@774: #include insilmaril@774: insilmaril@774: #include "flag.h" insilmaril@774: #include "xmlobj.h" insilmaril@774: insilmaril@774: /*! \brief A set of flags (Flag). insilmaril@774: insilmaril@774: A toolbar can be created from the flags in this row. insilmaril@774: The data needed for represention in a vym map insilmaril@774: is stored in FlagRowObj. insilmaril@774: */ insilmaril@774: insilmaril@774: class FlagRow:public XMLObj { insilmaril@774: public: insilmaril@774: FlagRow (); insilmaril@774: ~FlagRow (); insilmaril@774: void addFlag (Flag *flag); insilmaril@774: Flag *getFlag (const QString &name); insilmaril@774: QStringList activeFlagNames(); insilmaril@774: bool isActive(const QString &name); insilmaril@774: insilmaril@774: /*! \brief Toggle a Flag insilmaril@774: insilmaril@774: To activate a flag it will be copied from masterRow to current row. insilmaril@774: */ insilmaril@774: void toggle (const QString&, FlagRow *masterRow=NULL); insilmaril@774: void activate(const QString&); insilmaril@774: void deactivate(const QString&); insilmaril@774: void deactivateAll(); insilmaril@774: void setEnabled (bool); insilmaril@774: void setShowFlags (bool); insilmaril@774: void resetUsedCounter(); insilmaril@774: QString saveToDir (const QString &,const QString &,bool); insilmaril@774: void setName (const QString&); // prefix for exporting flags to dir insilmaril@774: void setToolBar (QToolBar *tb); insilmaril@774: void setMasterRow (FlagRow *row); insilmaril@774: void updateToolBar(const QStringList &activeNames); insilmaril@774: insilmaril@774: private: insilmaril@774: QToolBar *toolBar; insilmaril@774: FlagRow *masterRow; insilmaril@774: QList flags; insilmaril@774: QStringList activeNames; //! Lists all names of currently active flags insilmaril@774: QString rowName; //! Name of this collection of flags insilmaril@774: // bool showFlags; // FloatObjects want to hide their flags insilmaril@774: }; insilmaril@774: #endif insilmaril@774: