Store Sequence sequence location in a shared_ptr class
[mussa.git] / qui / seqbrowser / SequenceBrowserWidget.cpp
index f6f7f6f0ea5cbaec18e30c90e1e80802c560eb04..c10136ec090c2922029e6366a19beff23f702a53 100644 (file)
@@ -23,13 +23,20 @@ SequenceBrowserWidget::SequenceBrowserWidget(
     QWidget *parent
 )
   : QScrollArea(parent),
-    default_dir(default_dir_),
-    left_sidebar(new SequenceBrowserSidebar),
-    scrollable_browser(new ScrollableSequenceBrowser),
-    right_sidebar(new SequenceBrowserSidebar),
-    layout(new QHBoxLayout),
-    layout_container(new QWidget(this))
+    left_sidebar(0),
+    scrollable_browser(0),
+    right_sidebar(0),
+    layout(0),
+    layout_container(0)
 {
+  default_dir = default_dir_;
+
+  layout_container = new QWidget(this);
+  layout = new QHBoxLayout(layout_container);
+  left_sidebar = new SequenceBrowserSidebar(layout_container);
+  scrollable_browser = new ScrollableSequenceBrowser(layout_container);
+  right_sidebar = new SequenceBrowserSidebar(layout_container);
+  
   layout->addWidget(left_sidebar, 0);
   layout->addWidget(scrollable_browser, 1);
   layout->addWidget(right_sidebar, 0);
@@ -97,6 +104,11 @@ QAction *SequenceBrowserWidget::getCopySelectedSequenceAsFastaAction()
   return scrollable_browser->browser().getCopySelectedSequenceAsFastaAction();
 }
 
+QAction *SequenceBrowserWidget::getEditSequencePropertiesAction()
+{
+  return scrollable_browser->browser().getEditSequencePropertiesAction();
+}
+
 void SequenceBrowserWidget::copySelectedSequenceAsFasta()
 {
   scrollable_browser->browser().copySelectedSequenceAsFasta();
@@ -119,7 +131,8 @@ void SequenceBrowserWidget::setSequences(
       seq_i != sequences.end();
       ++seq_i)
   {
-    boost::shared_ptr<GlSequence> gs(new GlSequence(*seq_i, cm));
+    // Blech *(*seq_i) is dereferencing the shared_ptr stored in the iterator.
+    boost::shared_ptr<GlSequence> gs(new GlSequence(*(*seq_i), cm));
     converted_sequences.push_back(gs);
     browser.push_sequence(gs);
   }