From 230d609d3bc85e49b6743ee06f59cb7c3d636714 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 27 Aug 2015 03:03:58 +0200 Subject: Create dummy BoundingRectItem for controls Draw a dummy rounded rectangle on the bottom left for control items. --- pictureviewer2.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pictureviewer2.cpp') diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index f57cab6..71f4a80 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -74,6 +74,8 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) readSettings(); setMinimumSize(QSize(800, 600)); showFile(mFiles.at(mCurPos)); + mBoundingRectItem = new BoundingRectItem(QSize(100, 300)); + mScene->addItem(mBoundingRectItem); } void PictureViewer2::addFiles(const PicDataList &files, bool clear){ @@ -453,6 +455,8 @@ void PictureViewer2::hideEvent(QHideEvent *e){ void PictureViewer2::resizeEvent(QResizeEvent *event){ QGraphicsView::resizeEvent(event); + int brposy = event->size().height() - mBoundingRectItem->boundingRect().size().height() - 5; + mBoundingRectItem->setPos(5, brposy); showFile(mCurPicData); } @@ -651,7 +655,7 @@ void PictureViewer2::treeToStringRecursive(const SmTreeItem *parent, QTextCursor } } -QPointF PictureViewer2::getPos(PictureViewer2Item *item, int pos, const QPointF &movPos){ +QPointF PictureViewer2::getPos(QGraphicsItem *item, int pos, const QPointF &movPos){ QSizeF curSize = size(); item->setFlags(0); if(pos == ConfigurationDialog::TopLeft){ @@ -744,6 +748,24 @@ void PictureViewer2Item::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->restore(); } +QRectF BoundingRectItem::boundingRect() const { + return QRectF(0, 0, mSize.width(), mSize.height()); +} + +void BoundingRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ + Q_UNUSED(option); + Q_UNUSED(widget); + painter->save(); + painter->setRenderHint(QPainter::Antialiasing, true); + painter->setRenderHint(QPainter::TextAntialiasing, true); + QColor bgColor = QColor(Qt::white); + bgColor.setAlpha(80); + QBrush brush(bgColor); + painter->setPen(QColor(Qt::yellow)); + painter->setBrush(brush); + painter->drawRoundedRect(boundingRect(), 15.0, 15.0); +} + void PictureViewerGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e){ QGraphicsScene::mousePressEvent(e); QGraphicsItem *item = itemAt(e->scenePos(), QTransform()); -- cgit v1.2.3-70-g09d2