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)
16 sequenceFrame = new QFrame;
17 sequenceFrame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
19 sequenceLayout = new QVBoxLayout;
21 sequenceFrame->setLayout(sequenceLayout);
23 QVBoxLayout *mainLayout = new QVBoxLayout;
24 mainLayout->addWidget(sequenceFrame);
25 setLayout(mainLayout);
27 //Initialize to one sequence
28 changeSequenceCount(1);
32 //SequenceSetupFrame::SequenceSetupFrame(const SequenceSetupFrame &ssf)
33 // : sequenceFrame(ssf.sequenceFrame),
34 // sequenceLayout(ssf.sequenceLayout),
35 // seqCount(ssf.seqCount)//,
40 void SequenceSetupFrame::changeSequenceCount(int newSeqCount)
42 seqCount = newSeqCount;
43 setupSequences(seqCount);
46 void SequenceSetupFrame::setupSequences(int newSeqCount)
48 const int curSeqCount = seqList.size();
50 if (curSeqCount == newSeqCount)
54 else if (curSeqCount < newSeqCount)
56 int numSeqsToAdd = newSeqCount - curSeqCount;
58 SequenceSetupWidget *seq = 0;
59 for (int i = 1; i <= numSeqsToAdd; i++)
61 seq = new SequenceSetupWidget;
62 seqList.push_back(seq);
63 sequenceLayout->addWidget(seq);
66 else if (curSeqCount > newSeqCount)
68 int numSeqsToRemove = curSeqCount - newSeqCount;
70 if (numSeqsToRemove > curSeqCount)
72 numSeqsToRemove = curSeqCount;
75 SequenceSetupWidget *seqWidget = 0;
76 for (int i=1; i <= numSeqsToRemove; i++)
78 seqWidget = seqList.back();
79 sequenceLayout->removeWidget(seqWidget);
88 std::list<SetupInfo *> SequenceSetupFrame::getSetupInfo()
90 const int curSeqCount = seqList.size();
92 std::list<SetupInfo *> setupInfoList;
102 SequenceSetupWidget *seq = 0;
103 //SetupInfo *setupInfo = 0;
104 for (int i = 0; i < curSeqCount; i++)
106 seq = seqList.back();
108 seqName = seq->getName();
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(seqName.toStdString(),
119 seqFile.toStdString(),
120 annotFile.toStdString(),
121 fastaIndex, start, end));
125 return setupInfoList;