git-svn-id: svn://db.shs.com.ru/libs@426 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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;}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user