initial import
[vym] / flagrowobj.h
diff --git a/flagrowobj.h b/flagrowobj.h
new file mode 100644 (file)
index 0000000..317e44c
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef FLAGROWOBJ_H
+#define FLAGROWOBJ_H
+
+#include <QMainWindow>
+
+#include "mapobj.h"
+#include "flagobj.h"
+
+/*! \brief A collection of flags (FlagObj). 
+
+   The flags are aligned horizontally  in a row on the map. 
+   A toolbar can be created from the flags in this row.
+ */
+
+class FlagRowObj:public MapObj {
+public:
+    FlagRowObj ();
+    FlagRowObj (QGraphicsScene *);
+    ~FlagRowObj ();
+    virtual void init ();
+    virtual void copy (FlagRowObj*);
+    virtual void clone(FlagRowObj*);
+    virtual void move   (double,double);
+    virtual void moveBy (double,double);
+    virtual void setVisibility(bool);
+    virtual FlagObj* addFlag (FlagObj *fo);                    // make deep copy of FlagObj
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+       virtual QString getFlagName (const QPointF &p); // Find flag by position
+       bool isActive(const QString&);
+       void toggle (const QString&,bool);
+       void activate(const QString&);
+       void deactivate(const QString&);
+       void deactivateAll();
+       void deactivateGroup(FlagObj *);
+       void setToolBar (QToolBar *);
+       void setEnabled (bool);
+       void setShowFlags (bool);
+       void resetUsedCounter();
+       QString saveToDir (const QString &,const QString &,bool);
+       void setName (const QString&);                  // prefix for exporting flags to dir
+       void makeToolbar (QMainWindow*, const QString &);       // Create Toolbar buttons
+       void updateToolbar();                                   // Update Toolbar buttons       
+private:       
+       FlagRowObj* parentRow;                                  // look for flags in this row
+       FlagObj* findFlag (const QString&);
+    QList <FlagObj*> flag; 
+       QToolBar *toolbar;
+       QString name;
+       bool showFlags;                                                 // FloatObjects want to hide their flags
+};
+#endif