allow verticle scrollbar for sequence browser widget
authorDiane Trout <diane@caltech.edu>
Sat, 28 Oct 2006 01:47:01 +0000 (01:47 +0000)
committerDiane Trout <diane@caltech.edu>
Sat, 28 Oct 2006 01:47:01 +0000 (01:47 +0000)
ticket:182
if the window is smaller than the minimum useful scrollable browser
size start using a scroll bar.

qui/seqbrowser/SequenceBrowserWidget.cpp
qui/seqbrowser/SequenceBrowserWidget.hpp

index f0f0b4432385e6c55a5b1398e6be5597ba779253..f6f7f6f0ea5cbaec18e30c90e1e80802c560eb04 100644 (file)
@@ -22,19 +22,22 @@ SequenceBrowserWidget::SequenceBrowserWidget(
     boost::shared_ptr<QDir> 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()));
index 3527e20bb5a004ad8856a2db2b99a82304352180..030f1da7651ed54addf81a5cbb0b53e21c04bc9d 100644 (file)
@@ -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<Sequence>& sequences);
   void setSequences(
       const std::vector< boost::shared_ptr<Sequence> >& sequences, 
       boost::shared_ptr<AnnotationColors> cm);
@@ -87,6 +86,7 @@ private:
   SequenceBrowserSidebar *left_sidebar;
   SequenceBrowserSidebar *right_sidebar;
   QHBoxLayout *layout;
+  QWidget *layout_container;
 
   //! sequences created by a setSequences(vector<Sequences>) call
   /*! I need to save them so i can free them to avoid a memory leak