From 33312863839c182a3cdb9ca643580861faa2148d Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Sat, 28 Oct 2006 01:47:01 +0000 Subject: [PATCH] allow verticle scrollbar for sequence browser widget ticket:182 if the window is smaller than the minimum useful scrollable browser size start using a scroll bar. --- qui/seqbrowser/SequenceBrowserWidget.cpp | 13 ++++++++----- qui/seqbrowser/SequenceBrowserWidget.hpp | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/qui/seqbrowser/SequenceBrowserWidget.cpp b/qui/seqbrowser/SequenceBrowserWidget.cpp index f0f0b44..f6f7f6f 100644 --- a/qui/seqbrowser/SequenceBrowserWidget.cpp +++ b/qui/seqbrowser/SequenceBrowserWidget.cpp @@ -22,19 +22,22 @@ SequenceBrowserWidget::SequenceBrowserWidget( boost::shared_ptr default_dir_, QWidget *parent ) - : QWidget(parent), + : QScrollArea(parent), default_dir(default_dir_), left_sidebar(new SequenceBrowserSidebar), scrollable_browser(new ScrollableSequenceBrowser), right_sidebar(new SequenceBrowserSidebar), - layout(new QHBoxLayout) + layout(new QHBoxLayout), + layout_container(new QWidget(this)) { layout->addWidget(left_sidebar, 0); layout->addWidget(scrollable_browser, 1); layout->addWidget(right_sidebar, 0); - - setLayout(layout); - + + layout_container->setLayout(layout); + setWidget(layout_container); + setWidgetResizable(true); + // update position values when something in the SequenceBrowser changes connect(&(scrollable_browser->browser()), SIGNAL(viewportChanged()), this, SLOT(updatePosition())); diff --git a/qui/seqbrowser/SequenceBrowserWidget.hpp b/qui/seqbrowser/SequenceBrowserWidget.hpp index 3527e20..030f1da 100644 --- a/qui/seqbrowser/SequenceBrowserWidget.hpp +++ b/qui/seqbrowser/SequenceBrowserWidget.hpp @@ -15,7 +15,7 @@ #include "qui/seqbrowser/SequenceBrowserSidebar.hpp" //! the master widget that makes a useful Sequence Browser -class SequenceBrowserWidget : public QWidget +class SequenceBrowserWidget : public QScrollArea { Q_OBJECT @@ -45,7 +45,6 @@ public: * as it draw and redraws the SequenceDescriptions in the various * positions. */ - //void push_sequences(std::vector& sequences); void setSequences( const std::vector< boost::shared_ptr >& sequences, boost::shared_ptr cm); @@ -87,6 +86,7 @@ private: SequenceBrowserSidebar *left_sidebar; SequenceBrowserSidebar *right_sidebar; QHBoxLayout *layout; + QWidget *layout_container; //! sequences created by a setSequences(vector) call /*! I need to save them so i can free them to avoid a memory leak -- 2.30.2