moved(false), stealMouse(false), doubleClick(false), preventStealing(false), dragRejected(false),
drag(0)
{
- Q_Q(QSGMouseArea);
- forwardTo = QDeclarativeListProperty<QSGItem>(q, forwardToList);
}
QSGMouseAreaPrivate::~QSGMouseAreaPrivate()
void QSGMouseAreaPrivate::forwardEvent(QGraphicsSceneMouseEvent* event)
{
Q_Q(QSGMouseArea);
- for(int i=0; i < forwardToList.count(); i++){
- event->setPos(forwardToList[i]->mapFromScene(event->scenePos()));
- forwardToList[i]->canvas()->sendEvent(forwardToList[i], event);
- if(event->isAccepted())
- break;
- }
event->setPos(q->mapFromScene(event->scenePos()));
}
setKeepMouseGrab(d->stealMouse);
event->setAccepted(setPressed(true));
- if(!event->isAccepted() && d->forwardToList.count())
- d->forwardEvent(event);
}
}
emit mouseYChanged(&me);
me.setPosition(d->lastPos);
emit positionChanged(&me);
-
- if(!event->isAccepted() && d->forwardToList.count())
- d->forwardEvent(event);
}
void QSGMouseArea::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
ungrabMouse();
setKeepMouseGrab(false);
- if(!event->isAccepted() && d->forwardToList.count())
- d->forwardEvent(event);
}
d->doubleClick = false;
}
return d->drag;
}
-QDeclarativeListProperty<QSGItem> QSGMouseArea::forwardTo()
-{
- Q_D(QSGMouseArea);
- return d->forwardTo;
-}
-
QT_END_NAMESPACE
Q_PROPERTY(bool hoverEnabled READ hoverEnabled WRITE setHoverEnabled NOTIFY hoverEnabledChanged)
Q_PROPERTY(QSGDrag *drag READ drag CONSTANT) //### add flicking to QSGDrag or add a QDeclarativeFlick ???
Q_PROPERTY(bool preventStealing READ preventStealing WRITE setPreventStealing NOTIFY preventStealingChanged)
- Q_PROPERTY(QDeclarativeListProperty<QSGItem> forwardTo READ forwardTo);
public:
QSGMouseArea(QSGItem *parent=0);
bool preventStealing() const;
void setPreventStealing(bool prevent);
- QDeclarativeListProperty<QSGItem> forwardTo();
-
Q_SIGNALS:
void hoveredChanged();
void pressedChanged();