コード例 #1
0
void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
{
    if (!painter->isActive())
        return;

    if (!qmlItemNode().isValid())
        return;

    painter->save();

    if (qmlItemNode().instanceIsRenderPixmapNull() || !isContentVisible()) {
        if (scene()->showBoundingRects() && m_boundingRect.width() > 15 && m_boundingRect.height() > 15)
            paintPlaceHolderForInvisbleItem(painter);
    } else {
        if (m_blurContent)
            painter->drawPixmap(boundingRect().topLeft(), qmlItemNode().instanceBlurredRenderPixmap());
        else
            painter->drawPixmap(boundingRect().topLeft(), qmlItemNode().instanceRenderPixmap());
    }

    if (!qmlItemNode().isRootModelNode())
        paintBoundingRect(painter);

//    if (qmlItemNode().modelNode().metaInfo().isSubclassOf("QtQuick.Loader", -1, -1))
//        paintComponentContentVisualisation(painter, boundingRect());

    painter->restore();
}
コード例 #2
0
void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
{
    if (!qmlItemNode().isValid())
        return;

    painter->save();

    if (isContentVisible())
        qmlItemNode().paintInstance(painter);

    if (!qmlItemNode().isRootModelNode())
        paintBoundingRect(painter);

    painter->restore();
}
コード例 #3
0
void ThumbnailView::Delegate::paintCellPixmap( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
{
    const QPixmap pixmap = index.data( Qt::DecorationRole ).value<QPixmap>();

    const QRect pixmapRect = cellGeometryInfo()->iconGeometry( pixmap ).translated(option.rect.topLeft());
    paintBoundingRect( painter, pixmapRect, index );
    painter->drawPixmap( pixmapRect, pixmap );
    paintVideoInfo(painter, pixmapRect, index );
    paintDropIndicator( painter, option.rect, index );
    paintStackedIndicator(painter, pixmapRect, index);

    // Paint transparent pixels over the widget for selection.
    const QItemSelectionModel *selectionModel = widget()->selectionModel();
    if ( selectionModel->isSelected( index ) )
        painter->fillRect( option.rect, QColor(58,98,134, 127) );
    else if ( selectionModel->hasSelection() && selectionModel->currentIndex() == index )
        painter->fillRect( option.rect, QColor(58,98,134, 127) );
}
コード例 #4
0
ファイル: formeditoritem.cpp プロジェクト: anchowee/QtCreator
void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
{
    if (!qmlItemNode().isValid())
        return;

    painter->save();

    if (qmlItemNode().instanceIsRenderPixmapNull()) {
        if (scene()->showBoundingRects() && boundingRect().width() > 15 && boundingRect().height() > 15)
            paintPlaceHolderForInvisbleItem(painter);
    } else {
        qmlItemNode().paintInstance(painter);
    }

    if (!qmlItemNode().isRootModelNode())
        paintBoundingRect(painter);

    painter->restore();
}