Exemple #1
0
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();
}
Exemple #2
0
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);
}
Exemple #4
0
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);
}
Exemple #7
0
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() );
}
Exemple #8
0
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 );
}
Exemple #10
0
QSizeF CaretInterface::intrinsicSize(QTextDocument *, int,
                                     const QTextFormat &format)
 {
     return format.property(Size).toSizeF();
 }