diff options
author | Eduardo M. Fleury <eduardo.fleury@openbossa.org> | 2009-05-28 17:41:37 (GMT) |
---|---|---|
committer | Eduardo M. Fleury <eduardo.fleury@openbossa.org> | 2009-07-22 18:04:12 (GMT) |
commit | 35f33618ec766e4922977c31a5f522c261b19c61 (patch) | |
tree | 893236423058a733d881cd0b2e86a4122a5c6879 /src/gui/graphicsview/qgraphicsanchorlayout_p.h | |
parent | 4cb58c203242e6e24d1628673b145a038c93531f (diff) | |
download | Qt-35f33618ec766e4922977c31a5f522c261b19c61.zip Qt-35f33618ec766e4922977c31a5f522c261b19c61.tar.gz Qt-35f33618ec766e4922977c31a5f522c261b19c61.tar.bz2 |
QGraphicsAnchorLayout: Apply Jan-Arve's patch
Applying the patch sent by email.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Diffstat (limited to 'src/gui/graphicsview/qgraphicsanchorlayout_p.h')
-rw-r--r-- | src/gui/graphicsview/qgraphicsanchorlayout_p.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 89d3bfc..ee1a181 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -161,7 +161,7 @@ struct AnchorData : public QSimplexVariable { inline QString AnchorData::toString() const { - return QString("Anchor(%1)").arg(name); + return QString::fromAscii("Anchor(%1)").arg(name); //return QString().sprintf("Anchor %%1 <Min %.1f Pref %.1f Max %.1f>", // minSize, prefSize, maxSize).arg(name); } @@ -218,7 +218,8 @@ public: // Orientation is used to reference the right structure in each context enum Orientation { Horizontal = 0, - Vertical + Vertical, + NOrientations }; QGraphicsAnchorLayoutPrivate(); @@ -264,6 +265,19 @@ public: void constraintsFromPaths(Orientation orientation); QList<QList<QSimplexConstraint *> > getGraphParts(Orientation orientation); + inline AnchorVertex *internalVertex(const QPair<QGraphicsLayoutItem*, QGraphicsAnchorLayout::Edge> &itemEdge) + { + return m_vertexList.value(itemEdge).first; + } + + inline AnchorVertex *internalVertex(QGraphicsLayoutItem *item, QGraphicsAnchorLayout::Edge edge) + { + return internalVertex(qMakePair(item, edge)); + } + + AnchorVertex *addInternalVertex(QGraphicsLayoutItem *item, QGraphicsAnchorLayout::Edge edge); + AnchorVertex *removeInternalVertex(QGraphicsLayoutItem *item, QGraphicsAnchorLayout::Edge edge); + // Geometry interpolation methods void setItemsGeometries(); void calculateVertexPositions(Orientation orientation); @@ -275,6 +289,7 @@ public: GraphPath path); void solvePreferred(QList<QSimplexConstraint *> constraints); + qreal spacing[NOrientations]; // Size hints from simplex engine qreal sizeHints[2][3]; @@ -283,7 +298,8 @@ public: // Mapping between high level anchorage points (Item, Edge) to low level // ones (Graph Vertices) - QHash<QPair<QGraphicsLayoutItem*, QGraphicsAnchorLayout::Edge>, AnchorVertex *> m_vertexList; + + QHash<QPair<QGraphicsLayoutItem*, QGraphicsAnchorLayout::Edge>, QPair<AnchorVertex *, int> > m_vertexList; // Internal graph of anchorage points and anchors, for both orientations Graph<AnchorVertex, AnchorData> graph[2]; |