projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CursorHeader: Hit test time items from front to back
[pulseview.git]
/
pv
/
view
/
cursorheader.cpp
diff --git
a/pv/view/cursorheader.cpp
b/pv/view/cursorheader.cpp
index e308867cfd9f0335850a83b309ae563ce9b810a8..fbc6e2e791d53eccf26140896fae83291f607714 100644
(file)
--- a/
pv/view/cursorheader.cpp
+++ b/
pv/view/cursorheader.cpp
@@
-47,7
+47,6
@@
int CursorHeader::calculateTextHeight()
CursorHeader::CursorHeader(View &parent) :
MarginWidget(parent),
CursorHeader::CursorHeader(View &parent) :
MarginWidget(parent),
- dragging_(false),
textHeight_(calculateTextHeight())
{
setMouseTracking(true);
textHeight_(calculateTextHeight())
{
setMouseTracking(true);
@@
-84,6
+83,8
@@
void CursorHeader::paintEvent(QPaintEvent*)
void CursorHeader::mouseMoveEvent(QMouseEvent *e)
{
void CursorHeader::mouseMoveEvent(QMouseEvent *e)
{
+ mouse_point_ = e->pos();
+
if (!(e->buttons() & Qt::LeftButton))
return;
if (!(e->buttons() & Qt::LeftButton))
return;
@@
-99,7
+100,8
@@
void CursorHeader::mouseMoveEvent(QMouseEvent *e)
for (auto &i : items)
if (i->dragging())
i->set_time(view_.offset() +
for (auto &i : items)
if (i->dragging())
i->set_time(view_.offset() +
- (i->drag_point().x() + delta) * view_.scale());
+ (i->drag_point().x() + delta - 0.5) *
+ view_.scale());
}
void CursorHeader::mousePressEvent(QMouseEvent *e)
}
void CursorHeader::mousePressEvent(QMouseEvent *e)
@@
-112,9
+114,9
@@
void CursorHeader::mousePressEvent(QMouseEvent *e)
clear_selection();
const vector< shared_ptr<TimeItem> > items(view_.time_items());
clear_selection();
const vector< shared_ptr<TimeItem> > items(view_.time_items());
- for (auto
&i : items
)
- if (
i && i
->label_rect(rect()).contains(e->pos())) {
- mouse_down_item_ =
i
;
+ for (auto
i = items.rbegin(); i != items.rend(); i++
)
+ if (
(*i)
->label_rect(rect()).contains(e->pos())) {
+ mouse_down_item_ =
(*i)
;
break;
}
break;
}
@@
-149,5
+151,16
@@
void CursorHeader::mouseReleaseEvent(QMouseEvent *)
i->drag_release();
}
i->drag_release();
}
+void CursorHeader::leaveEvent(QEvent*)
+{
+ mouse_point_ = QPoint(-1, -1);
+ update();
+}
+
+void CursorHeader::mouseDoubleClickEvent(QMouseEvent *e)
+{
+ view_.add_flag(view_.offset() + ((double)e->x() + 0.5) * view_.scale());
+}
+
} // namespace view
} // namespace pv
} // namespace view
} // namespace pv