void LineEdit::updateTextMargins() { int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); int top = 0; int bottom = 0; setTextMargins(left, top, right, bottom); updateSideWidgetLocations(); }
void LineEdit::paintEvent(QPaintEvent *event) { QLineEdit::paintEvent(event); if (text().isEmpty() && !m_inactiveText.isEmpty() && !hasFocus()) { QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); int horizontalMargin = 2; textRect.adjust(horizontalMargin, 0, 0, 0); int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); textRect.adjust(left, 0, -right, 0); QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); } }
void SearchLineEdit::paintEvent(QPaintEvent *event) { if (text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) { LineEdit::paintEvent(event); QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); #if QT_VERSION >= 0x040500 int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); textRect.adjust(left, 0, -right, 0); #endif QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); } else { LineEdit::paintEvent(event); } }
void LocationBar::paintEvent(QPaintEvent *event) { QPainter painter(this); QPalette p = palette(); QColor backgroundColor = m_defaultBaseColor; if (m_webView && m_webView->url().scheme() == QLatin1String("https") && p.color(QPalette::Text).value() < 128) { QColor lightYellow(248, 248, 210); backgroundColor = lightYellow; } // paint the text background QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); #if QT_VERSION < 0x040500 int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); backgroundRect.adjust(-left, 0, right, 0); #endif painter.setBrush(backgroundColor); painter.setPen(backgroundColor); painter.drawRect(backgroundRect); // paint the progressbar if (m_webView && !hasFocus()) { int progress = m_webView->progress(); QColor loadingColor = QColor(116, 192, 250); if (p.color(QPalette::Text).value() >= 128) loadingColor = m_defaultBaseColor.darker(200); painter.setBrush(generateGradient(m_defaultBaseColor, loadingColor, height())); painter.setPen(Qt::transparent); int mid = backgroundRect.width() * progress / 100; QRect progressRect = QRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); painter.drawRect(progressRect); } painter.end(); LineEdit::paintEvent(event); }
void LineEdit::updateSideWidgetLocations() { QStyleOptionFrameV2 opt; initStyleOption(&opt); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &opt, this); int spacing = m_rightLayout->spacing(); textRect.adjust(spacing, 0, -spacing, 0); int left = textMargin(LineEdit::LeftSide); int midHeight = textRect.center().y() + 1; if (m_leftLayout->count() > 0) { int leftHeight = midHeight - m_leftWidget->height() / 2; int leftWidth = m_leftWidget->width(); if (leftWidth == 0) leftHeight = midHeight - m_leftWidget->sizeHint().height() / 2; m_leftWidget->move(textRect.x(), leftHeight); } textRect.setX(left); textRect.setY(midHeight - m_rightWidget->sizeHint().height() / 2); textRect.setHeight(m_rightWidget->sizeHint().height()); m_rightWidget->setGeometry(textRect); }
int QDeclarativeTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QDeclarativeImplicitSizePaintedItem::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 47) qt_static_metacall(this, _c, _id, _a); _id -= 47; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< QString*>(_v) = text(); break; case 1: *reinterpret_cast< QColor*>(_v) = color(); break; case 2: *reinterpret_cast< QColor*>(_v) = selectionColor(); break; case 3: *reinterpret_cast< QColor*>(_v) = selectedTextColor(); break; case 4: *reinterpret_cast< QFont*>(_v) = font(); break; case 5: *reinterpret_cast< HAlignment*>(_v) = hAlign(); break; case 6: *reinterpret_cast< VAlignment*>(_v) = vAlign(); break; case 7: *reinterpret_cast< WrapMode*>(_v) = wrapMode(); break; case 8: *reinterpret_cast< int*>(_v) = lineCount(); break; case 9: *reinterpret_cast< qreal*>(_v) = paintedWidth(); break; case 10: *reinterpret_cast< qreal*>(_v) = paintedHeight(); break; case 11: *reinterpret_cast< TextFormat*>(_v) = textFormat(); break; case 12: *reinterpret_cast< bool*>(_v) = isReadOnly(); break; case 13: *reinterpret_cast< bool*>(_v) = isCursorVisible(); break; case 14: *reinterpret_cast< int*>(_v) = cursorPosition(); break; case 15: *reinterpret_cast< QRect*>(_v) = cursorRectangle(); break; case 16: *reinterpret_cast< QDeclarativeComponent**>(_v) = cursorDelegate(); break; case 17: *reinterpret_cast< int*>(_v) = selectionStart(); break; case 18: *reinterpret_cast< int*>(_v) = selectionEnd(); break; case 19: *reinterpret_cast< QString*>(_v) = selectedText(); break; case 20: *reinterpret_cast< bool*>(_v) = focusOnPress(); break; case 21: *reinterpret_cast< bool*>(_v) = persistentSelection(); break; case 22: *reinterpret_cast< qreal*>(_v) = textMargin(); break; case 23: *reinterpret_cast< Qt::InputMethodHints*>(_v) = inputMethodHints(); break; case 24: *reinterpret_cast< bool*>(_v) = selectByMouse(); break; case 25: *reinterpret_cast< SelectionMode*>(_v) = mouseSelectionMode(); break; case 26: *reinterpret_cast< bool*>(_v) = canPaste(); break; case 27: *reinterpret_cast< bool*>(_v) = isInputMethodComposing(); break; } _id -= 28; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setText(*reinterpret_cast< QString*>(_v)); break; case 1: setColor(*reinterpret_cast< QColor*>(_v)); break; case 2: setSelectionColor(*reinterpret_cast< QColor*>(_v)); break; case 3: setSelectedTextColor(*reinterpret_cast< QColor*>(_v)); break; case 4: setFont(*reinterpret_cast< QFont*>(_v)); break; case 5: setHAlign(*reinterpret_cast< HAlignment*>(_v)); break; case 6: setVAlign(*reinterpret_cast< VAlignment*>(_v)); break; case 7: setWrapMode(*reinterpret_cast< WrapMode*>(_v)); break; case 11: setTextFormat(*reinterpret_cast< TextFormat*>(_v)); break; case 12: setReadOnly(*reinterpret_cast< bool*>(_v)); break; case 13: setCursorVisible(*reinterpret_cast< bool*>(_v)); break; case 14: setCursorPosition(*reinterpret_cast< int*>(_v)); break; case 16: setCursorDelegate(*reinterpret_cast< QDeclarativeComponent**>(_v)); break; case 20: setFocusOnPress(*reinterpret_cast< bool*>(_v)); break; case 21: setPersistentSelection(*reinterpret_cast< bool*>(_v)); break; case 22: setTextMargin(*reinterpret_cast< qreal*>(_v)); break; case 23: setInputMethodHints(*reinterpret_cast< Qt::InputMethodHints*>(_v)); break; case 24: setSelectByMouse(*reinterpret_cast< bool*>(_v)); break; case 25: setMouseSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; } _id -= 28; } else if (_c == QMetaObject::ResetProperty) { switch (_id) { case 5: resetHAlign(); break; } _id -= 28; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 28; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 28; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 28; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 28; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 28; } #endif // QT_NO_PROPERTIES return _id; }