Update SequenceDescription to have signal/slots
[mussa.git] / qui / seqbrowser / SequenceBrowserSidebar.cpp
1 #include "qui/seqbrowser/SequenceBrowserSidebar.hpp"
2
3 using namespace std;
4
5 SequenceBrowserSidebar::SequenceBrowserSidebar(QWidget* parent)
6   : QWidget(parent)
7 {
8   setLayout(&layout);
9 }
10
11 void SequenceBrowserSidebar::clear()
12 {
13   for (vector<SequenceDescription *>::iterator desc_i = descriptions.begin();
14        desc_i != descriptions.end();
15        ++desc_i)
16   {
17     layout.removeWidget(*desc_i);
18     delete *desc_i;
19   }
20   descriptions.clear();
21 }
22
23 void SequenceBrowserSidebar::setSequences(vector<GlSequence>& sequences)
24 {
25   clear();
26   for (vector<GlSequence>::const_iterator track_i = sequences.begin();
27        track_i != sequences.end();
28        ++track_i)
29   {
30     SequenceDescription *desc = new SequenceDescription(this);
31     desc->setName(track_i->sequence().get_species());
32     desc->setLength(track_i->sequence().length());
33     descriptions.push_back(desc);
34     layout.addWidget(desc);
35     if ((track_i+1) != sequences.end()) {
36       layout.addStretch(1);
37     }
38   }
39   setLayout(&layout);
40 }