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()));
25 // enble keyboard input
26 viewportBar.setFocusPolicy(Qt::StrongFocus);
29 void ScrollableSequenceBrowser::updateScrollBar()
31 thumb = (int)sequence_browser.viewportCenter();
32 viewportBar.setRange((int)sequence_browser.left(),
33 (int)sequence_browser.right());
34 viewportBar.setValue(thumb);
35 viewportBar.setPageStep(static_cast<int>(sequence_browser.viewportWidth()));
36 int step_size = static_cast<int>(sequence_browser.zoom());
37 step_size = step_size > 1 ? step_size : 1;
38 viewportBar.setSingleStep(static_cast<int>( step_size ));
41 void ScrollableSequenceBrowser::setViewportCenter(int x)
45 sequence_browser.setViewportCenter(thumb);