5 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
6 #include "qui/mussa_setup_dialog/SequenceSetupFrame.hpp"
7 #include "qui/mussa_setup_dialog/SetupInfo.hpp"
10 SequenceSetupFrame::SequenceSetupFrame(QWidget *parent)
18 sequenceFrame = new QFrame;
19 sequenceFrame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
21 sequenceLayout = new QVBoxLayout;
23 sequenceFrame->setLayout(sequenceLayout);
25 QVBoxLayout *mainLayout = new QVBoxLayout;
26 mainLayout->addWidget(sequenceFrame);
27 setLayout(mainLayout);
29 //Initialize to one sequence
30 changeSequenceCount(1);
34 //SequenceSetupFrame::SequenceSetupFrame(const SequenceSetupFrame &ssf)
35 // : sequenceFrame(ssf.sequenceFrame),
36 // sequenceLayout(ssf.sequenceLayout),
37 // seqCount(ssf.seqCount)//,
42 void SequenceSetupFrame::changeSequenceCount(int newSeqCount)
44 seqCount = newSeqCount;
45 setupSequences(seqCount);
48 void SequenceSetupFrame::setupSequences(int newSeqCount)
50 const int curSeqCount = seqList.size();
52 if (curSeqCount == newSeqCount)
56 else if (curSeqCount < newSeqCount)
58 int numSeqsToAdd = newSeqCount - curSeqCount;
60 SequenceSetupWidget *seq = 0;
61 for (int i = 1; i <= numSeqsToAdd; i++)
63 seq = new SequenceSetupWidget;
64 seqList.push_back(seq);
65 sequenceLayout->addWidget(seq);
68 else if (curSeqCount > newSeqCount)
70 int numSeqsToRemove = curSeqCount - newSeqCount;
72 if (numSeqsToRemove > curSeqCount)
74 numSeqsToRemove = curSeqCount;
77 SequenceSetupWidget *seqWidget = 0;
78 for (int i=1; i <= numSeqsToRemove; i++)
80 seqWidget = seqList.back();
81 sequenceLayout->removeWidget(seqWidget);
90 std::list<SetupInfo *> SequenceSetupFrame::getSetupInfo()
92 const int curSeqCount = seqList.size();
94 std::list<SetupInfo *> setupInfoList;
103 SequenceSetupWidget *seq = 0;
104 //SetupInfo *setupInfo = 0;
105 for (int i = 0; i < curSeqCount; i++)
107 seq = seqList.back();
109 seqFile = seq->getSeqFile();
110 annotFile = seq->getAnnotFile();
111 fastaIndex = seq->getFastaIndex();
112 start = seq->getStart();
115 seqList.push_front(seq);
118 setupInfoList.push_back(new SetupInfo(seqFile.toStdString(),
119 annotFile.toStdString(),
120 fastaIndex, start, end));
124 return setupInfoList;