void KoReportDesignerItemImage::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { Q_UNUSED(option); Q_UNUSED(widget); // store any values we plan on changing so we can restore them QPen p = painter->pen(); if (isInline()) { //QImage t_img = _image; QImage t_img = m_staticImage->value().value<QPixmap>().toImage(); if (mode() == "stretch") { t_img = t_img.scaled(rect().width(), rect().height(), Qt::KeepAspectRatio); } painter->drawImage(rect().left(), rect().top(), t_img, 0, 0, rect().width(), rect().height()); } else { painter->drawText(rect(), 0, dataSourceAndObjectTypeName(itemDataSource(), "image")); } //Draw a border so user knows the object edge painter->setPen(QPen(QColor(224, 224, 224))); painter->drawRect(rect()); drawHandles(painter); // restore an values before we started just in case painter->setPen(p); }
void ReportEntityLabel::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { // store any values we plan on changing so we can restore them QFont f = painter->font(); QPen p = painter->pen(); painter->setFont(font()); //painter->setBackgroundMode ( Qt::OpaqueMode ); QColor bg = m_backgroundColor->value().value<QColor>(); bg.setAlpha(m_backgroundOpacity->value().toInt()); painter->setBackground(bg); painter->setPen(m_foregroundColor->value().value<QColor>()); painter->fillRect(QGraphicsRectItem::rect(), bg); painter->drawText(rect(), textFlags(), text()); if ((Qt::PenStyle)m_lineStyle->value().toInt() == Qt::NoPen || m_lineWeight->value().toInt() <= 0) { painter->setPen(QPen(QColor(224, 224, 224))); } else { painter->setPen(QPen(m_lineColor->value().value<QColor>(), m_lineWeight->value().toInt(), (Qt::PenStyle)m_lineStyle->value().toInt())); } painter->drawRect(QGraphicsRectItem::rect()); painter->setBackgroundMode(Qt::TransparentMode); painter->setPen(m_foregroundColor->value().value<QColor>()); drawHandles(painter); // restore an values before we started just in case painter->setFont(f); painter->setPen(p); }
void KoReportDesignerItemChart::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); // store any values we plan on changing so we can restore them QFont f = painter->font(); QPen p = painter->pen(); QColor bg = Qt::white; painter->fillRect(QGraphicsRectItem::rect(), bg); if (m_chartWidget) { m_chartWidget->setFixedSize(m_size.toScene().toSize()); painter->drawImage(rect().left(), rect().top(), QPixmap::grabWidget(m_chartWidget).toImage(), 0, 0, rect().width(), rect().height()); } bg.setAlpha(255); painter->setBackground(bg); painter->setPen(Qt::black); painter->drawText(rect(), 0, dataSourceAndObjectTypeName(m_dataSource->value().toString(), "chart")); painter->setPen(QPen(QColor(224, 224, 224))); painter->drawRect(rect()); painter->setBackgroundMode(Qt::TransparentMode); drawHandles(painter); // restore an values before we started just in case painter->setFont(f); painter->setPen(p); }
void QgsComposerMouseHandles::paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget ) { Q_UNUSED( itemStyle ); Q_UNUSED( pWidget ); if ( mComposition->plotStyle() != QgsComposition::Preview ) { //don't draw selection handles in composition outputs return; } //draw resize handles around bounds of entire selection double rectHandlerSize = rectHandlerBorderTolerance(); drawHandles( painter, rectHandlerSize ); //draw dotted boxes around selected items drawSelectedItemBounds( painter ); }
void KReportDesignerItemBarcode::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { Q_UNUSED(option); Q_UNUSED(widget); // store any values we plan on changing so we can restore them QPen p = painter->pen(); painter->setBackground(Qt::white); //Draw a border so user knows the object edge painter->setPen(QPen(QColor(224, 224, 224))); painter->drawRect(rect()); drawHandles(painter); QByteArray fmt = m_format->value().toByteArray(); if (fmt == "i2of5") { renderI2of5(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "3of9") { render3of9(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "3of9+") { renderExtended3of9(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "128") { renderCode128(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "upc-a") { renderCodeUPCA(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "upc-e") { renderCodeUPCE(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "ean13") { renderCodeEAN13(rect().toRect(), m_renderText, alignment(), painter); } else if (fmt == "ean8") { renderCodeEAN8(rect().toRect(), m_renderText, alignment(), painter); } painter->setPen(Qt::black); painter->drawText(rect(), 0, dataSourceAndObjectTypeName(itemDataSource(), QLatin1String("barcode"))); // restore an values before we started just in case painter->setPen(p); }
void KoReportDesignerItemText::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { Q_UNUSED(option); Q_UNUSED(widget) // store any values we plan on changing so we can restore them QFont f = painter->font(); QPen p = painter->pen(); painter->setFont(font()); QColor bg = m_backgroundColor->value().value<QColor>(); bg.setAlpha((m_backgroundOpacity->value().toInt() / 100) * 255); painter->setBackground(bg); painter->setPen(m_foregroundColor->value().value<QColor>()); painter->fillRect(rect(), m_backgroundColor->value().value<QColor>()); painter->drawText(rect(), textFlags(), dataSourceAndObjectTypeName(itemDataSource(), "textarea")); if ((Qt::PenStyle)m_lineStyle->value().toInt() == Qt::NoPen || m_lineWeight->value().toInt() <= 0) { painter->setPen(QPen(QColor(224, 224, 224))); } else { painter->setPen(QPen(m_lineColor->value().value<QColor>(), m_lineWeight->value().toInt(), (Qt::PenStyle)m_lineStyle->value().toInt())); } painter->drawRect(rect()); painter->setBackgroundMode(Qt::TransparentMode); painter->setPen(m_foregroundColor->value().value<QColor>()); drawHandles(painter); // restore an values before we started just in case painter->setFont(f); painter->setPen(p); }
void KReportDesignerItemCheckBox::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { Q_UNUSED(option); Q_UNUSED(widget); // store any values we plan on changing so we can restore them QFont f = painter->font(); QPen p = painter->pen(); QBrush b = painter->brush(); painter->setBackgroundMode(Qt::OpaqueMode); painter->setRenderHint(QPainter::Antialiasing); painter->setPen(m_foregroundColor->value().value<QColor>()); if ((Qt::PenStyle)m_lineStyle->value().toInt() == Qt::NoPen || m_lineWeight->value().toInt() <= 0) { painter->setPen(QPen(Qt::lightGray)); } else { painter->setPen(QPen(m_lineColor->value().value<QColor>(), m_lineWeight->value().toInt(), (Qt::PenStyle)m_lineStyle->value().toInt())); } qreal ox = m_size.toScene().width() / 5; qreal oy = m_size.toScene().height() / 5; //Checkbox Style if (m_checkStyle->value().toString() == QLatin1String("Cross")) { painter->drawRoundedRect(QGraphicsRectItem::rect(), m_size.toScene().width() / 10 , m_size.toScene().height() / 10); QPen lp; lp.setColor(m_foregroundColor->value().value<QColor>()); lp.setWidth(ox > oy ? oy : ox); painter->setPen(lp); painter->drawLine(ox, oy, m_size.toScene().width() - ox, m_size.toScene().height() - oy); painter->drawLine(ox, m_size.toScene().height() - oy, m_size.toScene().width() - ox, oy); } else if (m_checkStyle->value().toString() == QLatin1String("Dot")) { //Radio Style painter->drawEllipse(QGraphicsRectItem::rect()); QBrush lb(m_foregroundColor->value().value<QColor>()); painter->setBrush(lb); painter->setPen(Qt::NoPen); painter->drawEllipse(rect().center(), m_size.toScene().width() / 2 - ox, m_size.toScene().height() / 2 - oy); } else { //Tickbox Style painter->drawRoundedRect(QGraphicsRectItem::rect(), m_size.toScene().width() / 10 , m_size.toScene().height() / 10); QPen lp; lp.setColor(m_foregroundColor->value().value<QColor>()); lp.setWidth(ox > oy ? oy : ox); painter->setPen(lp); painter->drawLine(ox, m_size.toScene().height() / 2, m_size.toScene().width() / 2, m_size.toScene().height() - oy); painter->drawLine(m_size.toScene().width() / 2, m_size.toScene().height() - oy, m_size.toScene().width() - ox, oy); } painter->setBackgroundMode(Qt::TransparentMode); painter->setPen(m_foregroundColor->value().value<QColor>()); // restore an values before we started just in case painter->setFont(f); painter->setPen(p); painter->setBrush(b); drawHandles(painter); }