void ControlRuler::resizeEvent(QResizeEvent *) { // Note slotSetPannedRect is called (from ControlRulerWidget::slotSetPannedRect) // on a resize event. However, this call is too early and width() has not been // updated. This event handler patches that problem. Could be more efficient. slotSetPannedRect(m_pannedRect); }
void Panner::moveTo(QPoint p) { QPointF sp = mapToScene(p); QRectF nr = m_pannedRect; double d = sp.x() - nr.center().x(); nr.translate(d, 0); slotSetPannedRect(nr); emit pannedRectChanged(m_pannedRect); viewport()->update(); }
void Panner::mouseMoveEvent(QMouseEvent *e) { if (!m_clicked) return; QPointF cp = mapToScene(m_clickedPoint); QPointF mp = mapToScene(e->pos()); QPointF delta = mp - cp; QRectF nr = m_clickedRect; nr.translate(delta); slotSetPannedRect(nr); emit pannedRectChanged(m_pannedRect); viewport()->update(); }