void QGraphicsMozView::forceViewActiveFocus() { QGraphicsItem *parent = parentItem(); while (parent) { if (parent->flags() & QGraphicsItem::ItemIsFocusScope) parent->setFocus(Qt::OtherFocusReason); parent = parent->parentItem(); } setFocus(Qt::OtherFocusReason); if (d->mViewInitialized) { d->mView->SetIsActive(true); } }
/*! \overload Handles the given mouse \a event. */ void QDeclarativeTextEdit::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativeTextEdit); if (d->focusOnPress){ QGraphicsItem *p = parentItem();//###Is there a better way to find my focus scope? while(p) { if(p->flags() & QGraphicsItem::ItemIsFocusScope){ p->setFocus(); break; } p = p->parentItem(); } setFocus(true); } d->control->processEvent(event, QPointF(0, 0)); if (!event->isAccepted()) QDeclarativePaintedItem::mousePressEvent(event); }
SEXP qt_qsetFocus_QGraphicsItem(SEXP rself) { QGraphicsItem *item = unwrapQGraphicsItem(rself, QGraphicsItem); item->setFocus(); return rself; }