+void AnalogSignal::scale_handle_dragged(int offset)
+{
+ scale_index_ = scale_index_drag_offset_ -
+ (offset + NominalHeight / 2) / (NominalHeight / 4);
+}
+
+void AnalogSignal::scale_handle_drag_release()
+{
+ scale_index_drag_offset_ = scale_index_;
+}
+
+void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
+{
+ if (channel_->enabled()) {
+ Trace::paint_back(p, pp);
+ paint_axis(p, pp, get_visual_y());
+ }
+}
+
+void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
+{
+ assert(data_);
+ assert(owner_);
+
+ const int y = get_visual_y();
+
+ if (!channel_->enabled())