QSizeF ChartTextObject::intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format) { Q_UNUSED(posInDocument); QSizeF size( format.property( Size ).toSizeF() ); switch ( format.property( Unit ).toInt() ) { case Percent: { const qreal pageWidth = doc->pageSize().width(); const qreal percent = size.width(); const qreal ratio = size.height() / size.width(); qreal newWidth = pageWidth * percent / 100.0; //XXX For some reason 100% width charts will get cropped //need to make a little room if ( percent == 100.0 ) newWidth -= 9; return QSizeF( newWidth, newWidth * ratio ); } case Millimeters: return QSizeF( mmToPixels( size.width() ), mmToPixels( size.height() ) ); } return QSizeF(); }
bool KoChangeTracker::containsInlineChanges(const QTextFormat &format) const { if (format.property(KoCharacterStyle::ChangeTrackerId).toInt()) return true; return false; }
//![1] void SvgTextObject::drawObject(QPainter *painter, const QRectF &rect, QTextDocument * /*doc*/, int /*posInDocument*/, const QTextFormat &format) { QImage bufferedImage = qVariantValue<QImage>(format.property(Window::SvgData)); painter->drawImage(rect, bufferedImage); }
void CaretInterface::drawObject(QPainter *painter, const QRectF &rect, QTextDocument *, int, const QTextFormat &format) { painter->setRenderHint(QPainter::Antialiasing, true); int c = format.property(Color).toInt(); QColor color(c & 0xff, (c & 0xff00) / 0x100, (c & 0xff0000) / 0x10000); QString text = format.property(Text).toString(); painter->setFont(m_font); // painter->fillRect(rect, QBrush(color)); painter->setBrush(QBrush(color)); painter->setPen(QPen(Qt::NoPen)); QRectF r2( rect.x(), rect.y() + 2, rect.width(), rect.height() + 2); painter->drawRoundedRect(r2, 3, 3); painter->setPen(QPen(Qt::white)); QRectF r( rect.x() + 2, rect.y() + 3, rect.width() - 4, rect.height() - 2); painter->drawText(r, text); painter->setRenderHint(QPainter::Antialiasing, false); }
void WidgetTextObject::drawObject(QPainter *painter, const QRectF &rect, QTextDocument * /*doc*/, int /*posInDocument*/, const QTextFormat &format) { QWidget* widget = qVariantValue<QWidget*>(format.property( 1 )); widget->render( painter, QPoint( 0, 0 )); //Adjusted to allow for the margin QRect contentsRect = rect.toRect().adjusted(0, 0, -kMargin.width(), -kMargin.height()); m_widgetRects[widget] = contentsRect; }
//![0] QSizeF SvgTextObject::intrinsicSize(QTextDocument * /*doc*/, int /*posInDocument*/, const QTextFormat &format) { QImage bufferedImage = qVariantValue<QImage>(format.property(Window::SvgData)); QSize size = bufferedImage.size(); if (size.height() > 25) size *= 25.0 / (double) size.height(); return QSizeF(size); }
void ChartTextObject::drawObject(QPainter *painter, const QRectF &r, QTextDocument *doc, int posInDocument, const QTextFormat &format) { Q_UNUSED(doc); Q_UNUSED(posInDocument); Q_UNUSED(format); KDChart::Chart *chart = qvariant_cast<KDChart::Chart*>( format.property( ChartObject ) ); chart->paint( painter, r.toRect() ); }
QTextFormat HtmlExporter::formatDifference( const QTextFormat &from, const QTextFormat &to ) { //kDebug(); QTextFormat diff = to; const QMap<int, QVariant> props = to.properties(); for ( QMap<int, QVariant>::ConstIterator it = props.begin(), end = props.end(); it != end; ++it ) if ( it.value() == from.property( it.key() ) ) diff.clearProperty( it.key() ); return diff; }
QSizeF WidgetTextObject::intrinsicSize(QTextDocument*, int /*posInDocument*/, const QTextFormat& format) { QWidget* widget = qVariantValue<QWidget*>(format.property(1)); return QSizeF( widget->size() + kMargin ); }
QSizeF CaretInterface::intrinsicSize(QTextDocument *, int, const QTextFormat &format) { return format.property(Size).toSizeF(); }