10 #include "qui/PathScene.hpp"
11 #include "qui/PathWidget.hpp"
12 #include "qui/ScrollableScene.hpp"
13 #include "qui/SequenceDescription.hpp"
14 #include "alg/glsequence.hpp"
19 PathWidget::PathWidget(QWidget *parent)
21 scrollable_scene(parent)
23 setOrientation(Qt::Horizontal);
25 addWidget(&left_sidebar);
26 addWidget(&scrollable_scene);
27 addWidget(&right_sidebar);
29 connect(&scrollable_scene.scene(), SIGNAL(viewportChanged()),
30 this, SLOT(updatePosition()));
33 void PathWidget::updateTracks()
35 left_sidebar.updateSidebar(scrollable_scene.scene());
36 right_sidebar.updateSidebar(scrollable_scene.scene());
40 void PathWidget::updatePosition()
42 const PathScene& scene = scrollable_scene.scene();
43 const vector<GlSequence> &tracks = scene.tracks();
44 vector<SequenceDescription *> left = left_sidebar.descriptions;
45 vector<SequenceDescription *> right = right_sidebar.descriptions;
46 for(size_t i = 0; i != tracks.size() and i != right.size(); ++i)
48 left[i]->setPosition(tracks[i].leftbase(scene.viewportLeft()));
49 right[i]->setPosition(tracks[i].rightbase(scene.viewportRight()));