]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/branchobj.h
New upstream version 2.9.22
[sven/vym.git] / src / branchobj.h
diff --git a/src/branchobj.h b/src/branchobj.h
new file mode 100644 (file)
index 0000000..340d6f3
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef BRANCHOBJ_H
+#define BRANCHOBJ_H
+
+#include "floatimageobj.h"
+#include "linkablemapobj.h"
+#include "ornamentedobj.h"
+#include "xlinkobj.h"
+
+/*! \brief A branch visible in the map */
+
+/////////////////////////////////////////////////////////////////////////////
+class BranchObj : public OrnamentedObj {
+  public:
+    /*! New branches will get use same color for heading as parent */
+    enum BranchModification { NewBranch, MovedBranch };
+
+    BranchObj(QGraphicsItem *parent = NULL, TreeItem *ti = NULL);
+    ~BranchObj();
+    virtual void init();
+    virtual void copy(BranchObj *);
+    void clear();
+
+    virtual void setParObjTmp(LinkableMapObj *, QPointF,
+                              int); // Only for moving Obj around
+    virtual void unsetParObjTmp();  // reuse original ParObj
+
+    virtual void setVisibility(bool, int); // set visibility
+    virtual void setVisibility(bool);      // set vis. for w
+
+    virtual void positionContents();
+    virtual void move(double x, double y);
+    virtual void move(QPointF);
+    virtual void moveBy(double x, double y);
+    virtual void moveBy(QPointF);
+
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+    virtual void setDockPos();
+
+    virtual void
+    updateVisuals(); //! Update represantatio of heading, flags, etc.
+
+  public:
+    virtual void
+    setDefAttr(BranchModification,
+               bool keepFrame =
+                   false); // set default attributes (frame, font, size, ...)
+
+    virtual void alignRelativeTo(const QPointF, bool alignSelf = false);
+    virtual void reposition();
+    virtual void unsetAllRepositionRequests();
+
+    virtual QRectF getTotalBBox(); // return size of BBox including children
+    virtual ConvexPolygon getBoundingPolygon();
+    virtual void calcBBoxSizeWithChildren(); // calc size of  BBox including
+                                             // children recursivly
+
+    virtual void setAnimation(const AnimPoint &ap);
+    virtual void stopAnimation();
+    virtual bool animate();
+
+  protected:
+    AnimPoint anim;
+};
+
+#endif