@@ -182,12 +182,16 void LegendMarkerItem::mouseClicked() | |||
|
182 | 182 | |
|
183 | 183 | void LegendMarkerItem::mouseMoved(QPointF delta) |
|
184 | 184 | { |
|
185 |
m_marker->m_legend->d_ptr-> |
|
|
185 | qreal dx = m_marker->m_legend->d_ptr->offset().x() - delta.x(); | |
|
186 | qreal dy = m_marker->m_legend->d_ptr->offset().y() - delta.y(); | |
|
187 | m_marker->m_legend->d_ptr->setOffset(dx, dy); | |
|
186 | 188 | } |
|
187 | 189 | |
|
188 | 190 | void LegendMarkerItem::mouseReleased(QPointF delta) |
|
189 | 191 | { |
|
190 |
m_marker->m_legend->d_ptr-> |
|
|
192 | qreal dx = m_marker->m_legend->d_ptr->offset().x() - delta.x(); | |
|
193 | qreal dy = m_marker->m_legend->d_ptr->offset().y() - delta.y(); | |
|
194 | m_marker->m_legend->d_ptr->setOffset(dx, dy); | |
|
191 | 195 | } |
|
192 | 196 | |
|
193 | 197 | #include "moc_legendmarkeritem_p.cpp" |
@@ -24,7 +24,7 | |||
|
24 | 24 | QTCOMMERCIALCHART_BEGIN_NAMESPACE |
|
25 | 25 | |
|
26 | 26 | MouseEventHandler::MouseEventHandler() : |
|
27 |
m_ |
|
|
27 | m_lastPos(0,0), | |
|
28 | 28 | m_state(Idle), |
|
29 | 29 | m_treshold(10) |
|
30 | 30 | { |
@@ -41,26 +41,28 void MouseEventHandler::setMoveTreshold(qreal treshold) | |||
|
41 | 41 | |
|
42 | 42 | void MouseEventHandler::handleMousePressEvent(QGraphicsSceneMouseEvent* event) |
|
43 | 43 | { |
|
44 |
m_ |
|
|
44 | m_lastPos = event->screenPos(); | |
|
45 | 45 | m_state = Pressed; |
|
46 | 46 | event->accept(); |
|
47 | 47 | } |
|
48 | 48 | |
|
49 | 49 | void MouseEventHandler::handleMouseMoveEvent(QGraphicsSceneMouseEvent* event) |
|
50 | 50 | { |
|
51 |
QPointF delta = event-> |
|
|
51 | QPointF delta = event->screenPos() - m_lastPos; | |
|
52 | 52 | |
|
53 | 53 | switch (m_state) { |
|
54 | 54 | case Pressed: { |
|
55 | 55 | // calculate treshold. If enough, change to move state and send out move deltas. |
|
56 | 56 | if (qAbs(delta.x()) > m_treshold || qAbs(delta.y()) > m_treshold) { |
|
57 | 57 | m_state = Moved; |
|
58 | m_lastPos = event->screenPos(); | |
|
58 | 59 | mouseMoved(delta); |
|
59 | 60 | } |
|
60 | 61 | event->accept(); |
|
61 | 62 | break; |
|
62 | 63 | } |
|
63 | 64 | case Moved: { |
|
65 | m_lastPos = event->screenPos(); | |
|
64 | 66 | mouseMoved(delta); |
|
65 | 67 | event->accept(); |
|
66 | 68 | break; |
@@ -75,7 +77,8 void MouseEventHandler::handleMouseMoveEvent(QGraphicsSceneMouseEvent* event) | |||
|
75 | 77 | |
|
76 | 78 | void MouseEventHandler::handleMouseReleaseEvent(QGraphicsSceneMouseEvent* event) |
|
77 | 79 | { |
|
78 |
QPointF delta = event-> |
|
|
80 | QPointF delta = event->screenPos() - m_lastPos; | |
|
81 | m_lastPos = event->screenPos(); | |
|
79 | 82 | |
|
80 | 83 | switch (m_state) { |
|
81 | 84 | case Pressed: |
General Comments 0
You need to be logged in to leave comments.
Login now