   DUINO_SaveWidget<ParameterValues> * widget_save_;
   DUINO_DisplayWidget * widget_loop_;
   DUINO_DisplayWidget * widget_repeat_;
-  DUINO_Widget * widgets_points_[8];
+  DU_VSEG_PointWidget * widgets_points_[8];
 
   volatile bool gate_, retrigger_;
 };


void loop_scroll_callback(int delta);
void repeat_scroll_callback(int delta);
// TODO: declare points callbacks

class DU_VSEG_Function : public DUINO_Function
{

    widget_loop_->attach_scroll_callback(loop_scroll_callback);
    widget_repeat_ = new DUINO_DisplayWidget(115, 11, 13, 9, DUINO_Widget::Full);
    widget_repeat_->attach_scroll_callback(repeat_scroll_callback);
    container_loop_repeat_ = new DUINO_WidgetContainer<2>(DUINO_Widget::Click);
    container_loop_repeat_->attach_child(widget_loop_, 0);
    container_loop_repeat_->attach_child(widget_repeat_, 1);
    container_points_ = new DUINO_WidgetContainer<8>(DUINO_Widget::Click);
    for(uint8_t i  = 0; i < 8; ++i)
    {
      widgets_points_[i] = new DU_VSEG_PointWidget((i + 1) / 2, i & 1);
      widgets_points_[i]->attach_invert_callback(points_invert_callback);
      container_points_->attach_child(widgets_points_[i], i);
      container_points_->attach_scroll_callback_array(points_scroll_callback);
    }
    container_outer_ = new DUINO_WidgetContainer<3>(DUINO_Widget::DoubleClick, 1);
    container_outer_->attach_child(widget_save_, 0);
    container_outer_->attach_child(container_loop_repeat_, 1);
