X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fcursorheader.cpp;h=6592acd4d06d43490688f4484dd12c6cbe282dfe;hb=abad24e2d61c0c84ac8495c22d29a8a3a49ee9fa;hp=d1660276417d65a79e42a628aeee87cfd92bc716;hpb=84a0d458a4b04141dd45af6dec44d36782ee163e;p=pulseview.git diff --git a/pv/view/cursorheader.cpp b/pv/view/cursorheader.cpp index d166027..6592acd 100644 --- a/pv/view/cursorheader.cpp +++ b/pv/view/cursorheader.cpp @@ -20,9 +20,11 @@ #include "cursorheader.h" +#include "ruler.h" #include "view.h" #include +#include #include #include @@ -32,18 +34,26 @@ using std::shared_ptr; namespace pv { namespace view { -const int CursorHeader::CursorHeaderHeight = 26; +const int CursorHeader::Padding = 20; + +int CursorHeader::calculateTextHeight() +{ + QFontMetrics fm(font()); + return fm.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, "8").height(); +} CursorHeader::CursorHeader(View &parent) : MarginWidget(parent), - _dragging(false) + _dragging(false), + _textHeight(calculateTextHeight()) { setMouseTracking(true); } QSize CursorHeader::sizeHint() const { - return QSize(0, CursorHeaderHeight); + return QSize(0, _textHeight + Padding); } void CursorHeader::clear_selection() @@ -59,9 +69,12 @@ void CursorHeader::paintEvent(QPaintEvent*) QPainter p(this); p.setRenderHint(QPainter::Antialiasing); + unsigned int prefix = pv::view::Ruler::calculate_tick_spacing( + p, _view.scale(), _view.offset()).second; + // Draw the cursors if (_view.cursors_shown()) { - _view.cursors().draw_markers(p, rect(), 0); //prefix); + _view.cursors().draw_markers(p, rect(), prefix); } }