QRect KReportDesignerItemBarcode::getTextRect() { QFont fnt = QFont(); return QFontMetrics(fnt) .boundingRect(int (x()), int (y()), 0, 0, 0, dataSourceAndObjectTypeName(itemDataSource(), QLatin1String("barcode"))); }
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 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 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); }
QRect KoReportDesignerItemText::getTextRect() { return QFontMetrics(font()).boundingRect(int (x()), int (y()), 0, 0, textFlags(), dataSourceAndObjectTypeName(itemDataSource(), "textarea")); }