4 #include "qui/ScrollableScene.hpp"
6 ScrollableScene::ScrollableScene(QWidget *parent) :
8 viewportBar(Qt::Horizontal)
10 // construct central opengl widget
11 QVBoxLayout *layout = new QVBoxLayout;
13 layout->addWidget(&path_scene);
14 layout->addWidget(&viewportBar);
16 connect(&viewportBar, SIGNAL(valueChanged(int)),
17 this, SLOT(setViewportCenter(int)));
18 connect(&path_scene, SIGNAL(viewportChanged()),
19 this, SLOT(updateScrollBar()));
27 void ScrollableScene::updateScrollBar()
29 float max_right = path_scene.right();
30 float max_left = path_scene.left();
31 float max_range = max_right - max_left;
32 float cur_left = path_scene.viewportLeft();
33 float cur_right = path_scene.viewportRight();
34 float cur_center = ((cur_right-cur_left)/2)+cur_left;
36 thumb = (int)cur_center;
37 viewportBar.setRange((int)max_left, (int)max_right);
38 viewportBar.setValue(thumb);
41 void ScrollableScene::setViewportCenter(int x)
45 path_scene.setViewportCenter(thumb);