From 608a47d7766fc6bf561ef7afff048034038a9f85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Thu, 30 Aug 2018 12:22:15 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@418 a8b55f48-bf90-11e4-a774-851b48703e85 --- qad/blockview/blockview.cpp | 18 ++++++++++++------ qad/blockview/blockview.h | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/qad/blockview/blockview.cpp b/qad/blockview/blockview.cpp index 241165f..265f7f2 100644 --- a/qad/blockview/blockview.cpp +++ b/qad/blockview/blockview.cpp @@ -89,7 +89,7 @@ void BlockView::_init() { sc.setAlphaF(0.2); sel_rect.setBrush(QBrush(sc)); checkPaste(true); - + /*AlignedTextItem * ti = new AlignedTextItem("This is text!"); ti->setFlag(QGraphicsItem::ItemIsSelectable, true); ti->setFlag(QGraphicsItem::ItemIsMovable, true); @@ -101,7 +101,7 @@ void BlockView::_init() { addItem(t__); addItem(new QGraphicsLineItem(0, -50, 0, 50)); addItem(new QGraphicsLineItem(-50, 0, 50, 0)); - + for (int i = 0; i < 5; ++i) { BlockItem * it = new BlockItem(); it->setPos(i*150, i*20); @@ -114,7 +114,7 @@ void BlockView::_init() { it->setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable); it->setData(1001, true); scene_->addItem(it); - + BlockBusItem * bus = new BlockBusItem(); bus->setImages(QImage("icons/bus_twin.png"), QImage("icons/bus_end_rj45.png")); bus->setEndpointsNumber(3); @@ -651,6 +651,12 @@ void BlockView::wheelEvent(QWheelEvent * e) { void BlockView::mousePressEvent(QMouseEvent * event) { press_point = event->pos(); QGraphicsView::mousePressEvent(event); + if (event->buttons().testFlag(Qt::MidButton)) setCursor(Qt::ClosedHandCursor); +} + + +void BlockView::mouseReleaseEvent(QMouseEvent * event) { + unsetCursor(); } @@ -827,7 +833,7 @@ void BlockView::drawThumb() { QRectF vr(QPointF(horizontalScrollBar()->value() - horizontalScrollBar()->minimum(), verticalScrollBar()->value() - verticalScrollBar()->minimum()) * thumb_scl, vs * thumb_scl); vr.adjust(0, 0, -1, -1); - + p.setBrush(Qt::lightGray); p.setOpacity(0.5 * _talpha); p.drawRect(wr); @@ -1289,7 +1295,7 @@ void BlockView::matchBus() { foreach (BlockItem * b_, blockl) foreach (BlockItemPin * p_, b_->pins()) if (p_->scenePos() == point) { - + return; } } @@ -1943,7 +1949,7 @@ void BlockView::removeSelected() { if (i->connectedBlocks().isEmpty()) if (!dbuses.contains(i)) delete i; - + blockSignals(false); foreach (QGraphicsItem * i, ai) emit blockRemoved((BlockItem*)i); diff --git a/qad/blockview/blockview.h b/qad/blockview/blockview.h index 0957554..fadf324 100644 --- a/qad/blockview/blockview.h +++ b/qad/blockview/blockview.h @@ -112,6 +112,7 @@ protected: void timerEvent(QTimerEvent * e); void wheelEvent(QWheelEvent * e); void mousePressEvent(QMouseEvent * event); + void mouseReleaseEvent(QMouseEvent * event); void mouseMoveEvent(QMouseEvent * event); void keyPressEvent(QKeyEvent * event); void keyReleaseEvent(QKeyEvent * e);