do a better job of grouping seqbrowser sidebar information.
[mussa.git] / qui / seqbrowser / SequenceDescription.cpp
1 #include <QVBoxLayout>
2
3 #include "qui/seqbrowser/SequenceDescription.hpp"
4
5 using namespace std;
6
7 SequenceDescription::SequenceDescription(QWidget *parent)
8   : QFrame(parent)
9 {
10   createWidget();
11 }
12
13 SequenceDescription::SequenceDescription(string& name, float length, 
14                                          QWidget *parent)
15   : QFrame(parent)
16 {
17   setName(name);
18   setLength(length);
19   createWidget();
20 }
21
22 void SequenceDescription::createWidget()
23 {
24   setFrameStyle(QFrame::Panel | QFrame::Sunken);
25   setLineWidth(1);
26   QLayout *layout = new QVBoxLayout;
27   layout->addWidget(&name_label);
28   layout->addWidget(&length_label);
29   layout->addWidget(&position_label);
30   setLayout(layout);
31 }
32
33 void SequenceDescription::setLength(float length)
34 {
35   QString s;
36   if (length > 1000000) {
37     length /= 1000000;
38     s.setNum(length, 'f', 2);
39     s += "mb";
40   } if (length > 1000) {
41     length /= 1000;
42     s.setNum(length, 'f', 2);
43     s += "kb";
44   } else {
45     s.setNum(length);
46     s += "b";
47   }
48   length_label.setText(s);
49 }
50