git-svn-id: svn://db.shs.com.ru/libs@426 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2018-09-21 12:49:44 +00:00
parent a2555768aa
commit 347eaa679e
3 changed files with 16 additions and 0 deletions

View File

@@ -363,6 +363,11 @@ BlockItemPin * BlockItem::pinAtBus(BlockBusItem * bus) const {
}
QRectF BlockItem::sceneRect() const {
return g_main.mapRectToScene(g_main.boundingRect());
}
QRectF BlockItem::boundingRect() const {
return g_main.mapRectToParent(g_main.boundingRect());
}

View File

@@ -47,6 +47,7 @@ public:
QColor color() const {return col;}
void setColor(QColor c) {col = c; _resize(size());}
QSizeF size() const {return g_main.rect().size();}
QRectF sceneRect() const;
qreal width() const {return size().width();}
qreal height() const {return size().height();}
int pinsMargin() const {return pins_margin;}

View File

@@ -292,8 +292,18 @@ bool BlockView::eventFilter(QObject * o, QEvent * e) {
mm_ci = 0;
}
if (mm_ci->data(1002).toBool()) {
QGraphicsItem * ti = mm_ci;
while (mm_ci->parentItem() != 0)
mm_ci = mm_ci->parentItem();
if (!ti->data(1010).toString().isEmpty()) { // text item, check for rect
BlockItem * bi = qgraphicsitem_cast<BlockItem*>(mm_ci);
if (bi) {
if (!bi->sceneRect().contains(scene_point)) {
//qDebug() << "return";
mm_ci = 0;
}
}
}
return true;
}
}