void KexiDBAutoField::setFieldCaptionInternal(const QString& text) { d->fieldCaptionInternal = text; //change text only if autocaption is set and no columnInfo is available KexiFormDataItemInterface *iface = dynamic_cast<KexiFormDataItemInterface*>((QWidget*)subwidget()); if ((!iface || !iface->columnInfo()) && d->autoCaption) { changeText(d->fieldCaptionInternal); } }
void KexiDBTextWidgetInterface::paint( QWidget *w, QPainter* p, bool textIsEmpty, Qt::Alignment alignment, bool hasFocus) { KexiFormDataItemInterface *dataItemIface = dynamic_cast<KexiFormDataItemInterface*>(w); KexiDB::QueryColumnInfo *columnInfo = dataItemIface ? dataItemIface->columnInfo() : 0; if (columnInfo && columnInfo->field && dataItemIface->cursorAtNewRow() && textIsEmpty) { int addMargin = 0; if (dynamic_cast<QFrame*>(w)) addMargin += dynamic_cast<QFrame*>(w)->lineWidth() + dynamic_cast<QFrame*>(w)->midLineWidth(); if (columnInfo->field->isAutoIncrement() && m_autonumberDisplayParameters) { if (w->hasFocus()) { p->setPen( KexiUtils::blendedColors( m_autonumberDisplayParameters->textColor, w->palette().color(QPalette::Base), 1, 3)); } KexiUtils::WidgetMargins margins(w); KexiDisplayUtils::paintAutonumberSign(*m_autonumberDisplayParameters, p, 2 + addMargin + margins.left, addMargin + margins.top, w->width() - margins.left - margins.right - 2 - 2, w->height() - margins.top - margins.bottom - 2, alignment, hasFocus); } } }