void FontRowTable::setRow(int r) { row = r; QFontMetrics fm = fontMetrics(); QString str; str.sprintf("mLB=%d mRB=%d mW=%d", fm.minLeftBearing(), fm.minRightBearing(), fm.maxWidth() ); emit fontInformation(str); update(); }
int toResultViewMLCheck::realWidth(const QFontMetrics &fm, const toTreeWidget *top, int column, const QString &txt) const { if (!MaxColDisp) { MaxColDisp = toConfigurationSingle::Instance().maxColDisp(); Gridlines = toConfigurationSingle::Instance().displayGridlines(); } QString t = text(column); if (t.isNull()) t = txt; int wx = top->itemMargin() * 2 - fm.minLeftBearing() - fm.minRightBearing() + 1; if (column == 0) wx += top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + top->itemMargin(); return std::min(TextWidth(fm, t), MaxColDisp) + wx; }
QRect PrimerLineEdit::placeHolderRect() const { QStyleOptionFrame panel; initStyleOption(&panel); QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); r.setX(r.x() + textMargins().left()); r.setY(r.y() + textMargins().top()); r.setRight(r.right() - textMargins().right()); r.setBottom(r.bottom() - textMargins().bottom()); QFontMetrics fm = fontMetrics(); int minLB = qMax(0, -fm.minLeftBearing()); int minRB = qMax(0, -fm.minRightBearing()); int vscroll = r.y() + (r.height() - fm.height() + 1) / 2; static const int horizontalMargin = 2; // QLineEditPrivate::horizontalMargin QRect lineRect(r.x() + horizontalMargin, vscroll, r.width() - 2*horizontalMargin, fm.height()); return lineRect.adjusted(minLB, 0, -minRB, 0); }
int toResultViewItem::realWidth(const QFontMetrics &fm, const toTreeWidget *top, int column, const QString &txt) const { if (!MaxColDisp) { MaxColDisp = toConfigurationSingle::Instance().maxColDisp(); Gridlines = toConfigurationSingle::Instance().displayGridlines(); } QString t = text(column); if (t.isNull()) t = txt; QRect bounds = fm.boundingRect(t); return std::min(bounds.width(), MaxColDisp) + top->itemMargin() * 2 - fm.minLeftBearing() - fm.minRightBearing() + 1; }