#include "timemarker.hpp"
#include "view.hpp"
+#include "pv/widgets/timestampspinbox.hpp"
#include <QApplication>
#include <QFormLayout>
if (value_widget_) {
updating_value_widget_ = true;
- value_widget_->setValue(time.convert_to<double>());
+ value_widget_->setValue(time);
updating_value_widget_ = false;
}
return QRectF(QPointF(x - label_size.width() / 2, top), label_size);
}
-QRectF TimeMarker::hit_box_rect(const QRectF &rect) const
+QRectF TimeMarker::hit_box_rect(const ViewItemPaintParams &pp) const
{
const float x = get_x();
const float h = QFontMetrics(QApplication::font()).height();
- return QRectF(x - h / 2.0f, rect.top(), h, rect.height());
+ return QRectF(x - h / 2.0f, pp.top(), h, pp.height());
}
void TimeMarker::paint_label(QPainter &p, const QRect &rect, bool hover)
QFormLayout *const form = new QFormLayout(popup);
popup->setLayout(form);
- value_widget_ = new QDoubleSpinBox(parent);
- value_widget_->setDecimals(9);
- value_widget_->setSuffix("s");
- value_widget_->setSingleStep(1e-6);
- value_widget_->setRange(-1.0e9, 1.0e9);
- value_widget_->setValue(time_.convert_to<double>());
+ value_widget_ = new pv::widgets::TimestampSpinBox(parent);
+ value_widget_->setValue(time_);
- connect(value_widget_, SIGNAL(valueChanged(double)),
- this, SLOT(on_value_changed(double)));
+ connect(value_widget_, SIGNAL(valueChanged(const pv::util::Timestamp&)),
+ this, SLOT(on_value_changed(const pv::util::Timestamp&)));
form->addRow(tr("Time"), value_widget_);
return popup;
}
-void TimeMarker::on_value_changed(double value)
+void TimeMarker::on_value_changed(const pv::util::Timestamp& value)
{
if (!updating_value_widget_)
set_time(value);