24 #include <QGraphicsScene>
34 c->scene()->removeItem(c);
44 c->visibilityChanged(visible);
52 if (col <
static_cast<int>(
content.size()) && col >= 0)
61 if (c->sceneBoundingRect().contains(scenePos))
72 c->scene()->removeItem(c);
88 c->setVisible(visible);
94 c->selectionCleared();
100 c->selectionFocusChanged(focusIn);
106 c->fontChanged(font);
127 bbox.setHeight(qMax(c->sceneBoundingRect().top() -
bbox.top() + c->sceneBoundingRect().height(),
148 if (col >= 0 && col <
static_cast<int>(
content.size()) && lineContent) {
149 QGraphicsScene* scene =
content[col]->scene();
170 bbox.setTopLeft(scenePos);
173 qreal varWidth = 0.0;
175 for (
int i = 0; i <
format.size(); ++i) {
177 fixedWidth +=
format[i].size;
179 varWidth +=
format[i].size;
185 qreal leftover = qMax(0.0,
width - fixedWidth);
187 qreal maxVOffset = 0.0;
189 QVector<qreal> xPos(
content.size());
191 for (
int i = 0; i <
content.size(); ++i) {
205 switch (
format[i].hAlign) {
212 xAlign = (
width -
content[i]->boundingRect().width()) / 2.0;
217 xPos[i] = scenePos.x() + xOffset + xAlign;
220 maxVOffset = qMax(maxVOffset,
content[i]->getAscent());
223 for (
int i = 0; i <
content.size(); ++i) {
226 qreal yOffset = maxVOffset -
content[i]->getAscent();
229 content[i]->setPos(xPos[i], scenePos.y() + yOffset);
239 c->moveBy(0, deltaY);
246 return lhs->sceneBoundingRect().top() < rhs;
251 return lhs->sceneBoundingRect().bottom() < rhs;