+
+ // Send the signal mouseWheelZoom signal from seq browser upward.
+ connect(&(scrollable_browser->browser()), SIGNAL(mouseWheelZoom(double)),
+ this, SIGNAL(mouseWheelZoom(double)));
+}
+
+
+SequenceBrowserWidget::SequenceBrowserWidget(const SequenceBrowserWidget &o)
+ : QScrollArea(o.window()),
+ left_sidebar(o.left_sidebar),
+ scrollable_browser(o.scrollable_browser),
+ right_sidebar(o.right_sidebar),
+ layout(o.layout),
+ layout_container(o.layout_container)
+{
+}
+
+QSize SequenceBrowserWidget::sizeHint() const
+{
+ // don't trust the layouts size computation
+ // use some heavy handed brute force to compute
+ // the correct size so our stupid scrollable_browser
+ // will show the full viewport.
+ QSize left = left_sidebar->sizeHint();
+ QSize center = scrollable_browser->sizeHint();
+ QSize right = right_sidebar->sizeHint();
+
+ int width = left.width()+center.width()+right.width();
+ width += 2 * layout->margin();
+ if (layout->spacing() > 0) {
+ width += layout->spacing() * 3;
+ }
+ return QSize(width, center.height());