6 #include "qui/PathScene.h"
7 #include "qui/PathWidget.h"
12 // whats the maximum reasonable range for a scrollbar
13 const float max_scrollbar_range = 100000;
15 PathWidget::PathWidget(PathScene *scene, QWidget *parent) :
18 viewportBar(Qt::Horizontal)
20 QVBoxLayout *layout = new QVBoxLayout;
22 layout->addWidget(scene);
23 layout->addWidget(&viewportBar);
25 connect(&viewportBar, SIGNAL(valueChanged(int)), this, SLOT(setViewportX(int)));
26 connect(scene, SIGNAL(viewportChanged()), this, SLOT(updateScrollBar()));
33 void PathWidget::updateScrollBar()
35 float max_right = scene->right();
36 float max_left = scene->left();
37 float max_range = max_right - max_left;
38 float cur_left = scene->viewportLeft();
39 float cur_right = scene->viewportRight();
40 float cur_center = ((cur_right-cur_left)/2)+cur_left;
42 thumb = (int)cur_center;
43 viewportBar.setRange((int)max_left, (int)max_right);
44 viewportBar.setValue(thumb);
47 void PathWidget::setViewportX(int x)
51 scene->setViewportX(thumb);