ScrollableSequenceBrowser::ScrollableSequenceBrowser(QWidget *parent) :
QWidget(parent),
- viewportBar(Qt::Horizontal)
+ sequence_browser(0),
+ viewportBar(0)
{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ sequence_browser = new SequenceBrowser;
+ viewportBar = new QScrollBar(Qt::Horizontal);
// construct central opengl widget
- QVBoxLayout *layout = new QVBoxLayout;
- layout->addWidget(&sequence_browser);
- layout->addWidget(&viewportBar);
+ layout->addWidget(sequence_browser);
+ layout->addWidget(viewportBar);
- connect(&viewportBar, SIGNAL(valueChanged(int)),
+ connect(viewportBar, SIGNAL(valueChanged(int)),
this, SLOT(setViewportCenter(int)));
- connect(&sequence_browser, SIGNAL(viewportChanged()),
+ connect(sequence_browser, SIGNAL(viewportChanged()),
this, SLOT(updateScrollBar()));
setLayout(layout);
updateScrollBar();
// enble keyboard input
- viewportBar.setFocusPolicy(Qt::StrongFocus);
+ viewportBar->setFocusPolicy(Qt::StrongFocus);
}
void ScrollableSequenceBrowser::updateScrollBar()
{
- thumb = (int)sequence_browser.viewportCenter();
- viewportBar.setRange((int)sequence_browser.left(),
- (int)sequence_browser.right());
- viewportBar.setValue(thumb);
- viewportBar.setPageStep(static_cast<int>(sequence_browser.viewportWidth()));
- int step_size = static_cast<int>(sequence_browser.zoom());
+ thumb = (int)sequence_browser->viewportCenter();
+ viewportBar->setRange((int)sequence_browser->left(),
+ (int)sequence_browser->right());
+ viewportBar->setValue(thumb);
+ viewportBar->setPageStep(static_cast<int>(sequence_browser->viewportWidth()));
+ int step_size = static_cast<int>(sequence_browser->zoom());
step_size = step_size > 1 ? step_size : 1;
- viewportBar.setSingleStep(static_cast<int>( step_size ));
+ viewportBar->setSingleStep(static_cast<int>( step_size ));
}
void ScrollableSequenceBrowser::setViewportCenter(int x)
{
if (x != thumb) {
thumb = x;
- sequence_browser.setViewportCenter(thumb);
+ sequence_browser->setViewportCenter(thumb);
}
-}
-
+}
\ No newline at end of file