5 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
6 #include "qui/mussa_setup_dialog/SequenceSetupFrame.hpp"
9 SequenceSetupFrame::SequenceSetupFrame(QWidget *parent)
17 sequenceFrame = new QFrame;
18 sequenceFrame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
20 sequenceLayout = new QVBoxLayout;
24 sequenceFrame->setLayout(sequenceLayout);
26 QVBoxLayout *mainLayout = new QVBoxLayout;
27 mainLayout->addWidget(sequenceFrame);
28 setLayout(mainLayout);
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 for (int i = 1; i <= numSeqsToAdd; i++)
60 SequenceSetupWidget *seq = new SequenceSetupWidget;
61 seqList.push_back(*seq);
62 sequenceLayout->addWidget(seq);
65 else if (curSeqCount > newSeqCount)
67 int numSeqsToRemove = curSeqCount - newSeqCount;
69 if (numSeqsToRemove > curSeqCount)
71 numSeqsToRemove = curSeqCount;
74 //SequenceSetupWidget *seqWidget = 0;
75 for (int i=1; i <= numSeqsToRemove; i++)
77 SequenceSetupWidget& seqWidget(seqList.back());
78 sequenceLayout->removeWidget(&seqWidget);