6 #include "qui/PathScene.hpp"
7 #include "qui/PathWidget.hpp"
12 // whats the maximum reasonable range for a scrollbar
13 const float max_scrollbar_range = 100000;
15 PathWidget::PathWidget(QWidget *parent) :
17 viewportBar(Qt::Horizontal)
19 QVBoxLayout *layout = new QVBoxLayout;
21 layout->addWidget(&scene);
22 layout->addWidget(&viewportBar);
24 connect(&viewportBar, SIGNAL(valueChanged(int)),
25 this, SLOT(setViewportX(int)));
26 connect(&scene, SIGNAL(viewportChanged()),
27 this, SLOT(updateScrollBar()));
34 void PathWidget::updateScrollBar()
36 float max_right = scene.right();
37 float max_left = scene.left();
38 float max_range = max_right - max_left;
39 float cur_left = scene.viewportLeft();
40 float cur_right = scene.viewportRight();
41 float cur_center = ((cur_right-cur_left)/2)+cur_left;
43 thumb = (int)cur_center;
44 viewportBar.setRange((int)max_left, (int)max_right);
45 viewportBar.setValue(thumb);
48 void PathWidget::setViewportCenter(int x)
52 scene.setViewportCenter(thumb);