X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Fflagrowmaster.h;fp=src%2Fflagrowmaster.h;h=aaf097828a7a5a7e51466ff2f7b240bfd9a1dd6c;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/flagrowmaster.h b/src/flagrowmaster.h new file mode 100644 index 0000000..aaf0978 --- /dev/null +++ b/src/flagrowmaster.h @@ -0,0 +1,45 @@ +#ifndef FLAGROWMASTER_H +#define FLAGROWMASTER_H + +#include +#include +#include + +#include "flag.h" +#include "xmlobj.h" + +/*! \brief A set of flags (Flag). + + A toolbar can be created from the flags in this row. + The data needed for represention in a vym map + is stored in FlagRowObj. + */ + +class FlagRowMaster : public XMLObj { + public: + enum WriteMode { NoFlags, UsedFlags, AllFlags }; + FlagRowMaster(); + ~FlagRowMaster(); + Flag *createFlag(const QString &path); + void createConfigureAction(); + void addActionToToolbar(QAction *a); + Flag *findFlagByUid(const QUuid &uid); + Flag *findFlagByName(const QString &name); + void resetUsedCounter(); + QString saveDef(WriteMode mode); + void saveDataToDir(const QString &, WriteMode mode); + void setName(const QString &); // prefix for exporting flags to dir + QString getName(); // Used for debugging only + void setPrefix(const QString &prefix); + void setToolBar(QToolBar *tb); + void setEnabled(bool); + void updateToolBar(QList activeUids); + + private: + QToolBar *toolbar; + QList flags; //! Used in to define flags + QString rowName; //! Name of this collection of flags + QString prefix; //! Prefix for saving data: user/ or standard/ + QAction *configureAction; //! Action to trigger loading new user flags +}; +#endif