3 #include "qui/seqbrowser/ScrollableSequenceBrowser.hpp"
5 ScrollableSequenceBrowser::ScrollableSequenceBrowser(QWidget *parent) :
7 viewportBar(Qt::Horizontal)
9 // construct central opengl widget
10 QVBoxLayout *layout = new QVBoxLayout;
12 layout->addWidget(&sequence_browser);
13 layout->addWidget(&viewportBar);
15 connect(&viewportBar, SIGNAL(valueChanged(int)),
16 this, SLOT(setViewportCenter(int)));
17 connect(&sequence_browser, SIGNAL(viewportChanged()),
18 this, SLOT(updateScrollBar()));
26 void ScrollableSequenceBrowser::updateScrollBar()
28 float max_right = sequence_browser.right();
29 float max_left = sequence_browser.left();
30 float max_range = max_right - max_left;
31 float cur_left = sequence_browser.viewportLeft();
32 float cur_right = sequence_browser.viewportRight();
33 float cur_center = ((cur_right-cur_left)/2)+cur_left;
35 thumb = (int)cur_center;
36 viewportBar.setRange((int)max_left, (int)max_right);
37 viewportBar.setValue(thumb);
40 void ScrollableSequenceBrowser::setViewportCenter(int x)
44 sequence_browser.setViewportCenter(thumb);