return nullptr;
}
-bool Ruler::accept_drag() const
-{
- return true;
-}
-
-void Ruler::drag_items(const QPoint &delta)
-{
- const vector< shared_ptr<TimeItem> > items(view_.time_items());
- for (auto &i : items)
- if (i->dragging())
- i->drag_by(delta);
-}
-
void Ruler::paintEvent(QPaintEvent*)
{
const int ValueMargin = 3;
p.setRenderHint(QPainter::Antialiasing);
const double tick_period = view_.tick_period();
- const unsigned int prefix = view_.tick_prefix();
// Draw the tick marks
p.setPen(palette().color(foregroundRole()));
const double minor_tick_period = tick_period / MinorTickSubdivision;
- const double first_major_division =
+ const pv::util::Timestamp first_major_division =
floor(view_.offset() / tick_period);
- const double first_minor_division =
+ const pv::util::Timestamp first_minor_division =
ceil(view_.offset() / minor_tick_period);
- const double t0 = first_major_division * tick_period;
+ const pv::util::Timestamp t0 = first_major_division * tick_period;
- int division = (int)round(first_minor_division -
- first_major_division * MinorTickSubdivision) - 1;
+ int division = (round(first_minor_division -
+ first_major_division * MinorTickSubdivision)).convert_to<int>() - 1;
const int text_height = calculate_text_height();
const int ruler_height = RulerHeight * text_height;
double x;
do {
- const double t = t0 + division * minor_tick_period;
- x = (t - view_.offset()) / view_.scale();
+ const pv::util::Timestamp t = t0 + division * minor_tick_period;
+ x = ((t - view_.offset()) / view_.scale()).convert_to<double>();
if (division % MinorTickSubdivision == 0)
{
// Draw a major tick
p.drawText(x, ValueMargin, 0, text_height,
AlignCenter | AlignTop | TextDontClip,
- pv::util::format_time(t, prefix));
+ util::format_time(t, view_.tick_prefix(), view_.time_unit(),
+ view_.tick_precision()));
p.drawLine(QPointF(x, major_tick_y1),
QPointF(x, ruler_height));
}
}
division++;
-
} while (x < width());
// Draw the hover mark
// Draw the items
const vector< shared_ptr<TimeItem> > items(view_.time_items());
for (auto &i : items) {
- const bool highlight = !dragging_ &&
+ const bool highlight = !item_dragging_ &&
i->label_rect(r).contains(mouse_point_);
i->paint_label(p, r, highlight);
}