Minor : add QGIUtility namespace

This commit is contained in:
joshua
2022-07-15 20:48:06 +02:00
parent 2a307a74da
commit d9a0b03e23
4 changed files with 21 additions and 10 deletions

View File

@@ -253,13 +253,13 @@ void CrossRefItem::autoPos()
{ {
//We calcul the position according to the snapTo of the xrefproperties //We calcul the position according to the snapTo of the xrefproperties
if (m_properties.snapTo() == XRefProperties::Bottom) if (m_properties.snapTo() == XRefProperties::Bottom)
centerToBottomDiagram(this, QGIUtility::centerToBottomDiagram(this,
m_element, m_element,
m_properties.offset() <= 40 m_properties.offset() <= 40
? 5 ? 5
: m_properties.offset()); : m_properties.offset());
else else
centerToParentBottom(this); QGIUtility::centerToParentBottom(this);
} }
/** /**

View File

@@ -861,7 +861,7 @@ void ElementTextItemGroup::autoPos()
} }
} }
qreal r = rotation(); qreal r = rotation();
centerToBottomDiagram(this, m_parent_element, offset); QGIUtility::centerToBottomDiagram(this, m_parent_element, offset);
//centerToBottomDiagram change the rotation of this group if needed, //centerToBottomDiagram change the rotation of this group if needed,
//but setRotation is not a virtual function of QGraphicsItem, and the function centerToBottomDiagram //but setRotation is not a virtual function of QGraphicsItem, and the function centerToBottomDiagram
//work with a QGraphicsItem. So we emit the signal if rotation changed //work with a QGraphicsItem. So we emit the signal if rotation changed

View File

@@ -23,6 +23,9 @@
#include <QDebug> #include <QDebug>
#include <QGraphicsItem> #include <QGraphicsItem>
namespace QGIUtility
{
/** /**
@brief centerToParentBottom @brief centerToParentBottom
Center the item at the bottom of is parent. Center the item at the bottom of is parent.
@@ -51,10 +54,10 @@ bool centerToParentBottom(QGraphicsItem *item) {
@param offset @param offset
@return true if element is centered else false (element_to_follow have not diagram) @return true if element is centered else false (element_to_follow have not diagram)
*/ */
#include "elementtextitemgroup.h" bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_follow, qreal offset)
#include "crossrefitem.h" {
bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_follow, qreal offset) { if (! element_to_follow -> diagram())
if (! element_to_follow -> diagram()) { {
qDebug() << "qgraphicsitemutility centerAtBottomDiagram : Element_to_follow have not diagram"; qDebug() << "qgraphicsitemutility centerAtBottomDiagram : Element_to_follow have not diagram";
return false; return false;
} }
@@ -81,8 +84,11 @@ bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_f
rot += parent->rotation(); rot += parent->rotation();
parent = parent->parentItem(); parent = parent->parentItem();
} }
if(rot != 0) if(rot != 0) {
item_to_center->setRotation(item_to_center->rotation() - rot); item_to_center->setRotation(item_to_center->rotation() - rot);
}
return true; return true;
} }
}

View File

@@ -17,11 +17,16 @@
*/ */
#ifndef QGRAPHICSITEMUTILITY_H #ifndef QGRAPHICSITEMUTILITY_H
#define QGRAPHICSITEMUTILITY_H #define QGRAPHICSITEMUTILITY_H
#include <QtGlobal> #include <QtGlobal>
class QGraphicsItem; class QGraphicsItem;
class Element; class Element;
bool centerToParentBottom (QGraphicsItem *item); namespace QGIUtility
bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_follow, qreal offset = 0 ); {
bool centerToParentBottom (QGraphicsItem *item);
bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_follow, qreal offset = 0 );
}
#endif // QGRAPHICSITEMUTILITY_H #endif // QGRAPHICSITEMUTILITY_H