#include <QFrame>
#include <QList>
+#include <QScrollArea>
#include <QVBoxLayout>
#include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
SequenceSetupFrame::SequenceSetupFrame(QWidget *parent)
: QWidget(parent),
- seqCount(0),
+ sequenceFrame(0),
+ scrollArea(0),
+ seqCount(1),
+ default_directory(QDir::current()),
sequenceLayout(0)
{
+
// frame
sequenceFrame = new QFrame;
sequenceFrame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
sequenceLayout = new QVBoxLayout;
sequenceFrame->setLayout(sequenceLayout);
+ sequenceFrame->resize(500,500);
+
+ //scroll area
+ scrollArea = new QScrollArea;
+ scrollArea->setWidget(sequenceFrame);
QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(sequenceFrame);
+ mainLayout->addWidget(scrollArea);
setLayout(mainLayout);
//Initialize to one sequence
changeSequenceCount(1);
+
+ scrollArea->show();
}
+QDir SequenceSetupFrame::get_default_dir() const
+{
+ return default_directory;
+}
-//SequenceSetupFrame::SequenceSetupFrame(const SequenceSetupFrame &ssf)
-// : sequenceFrame(ssf.sequenceFrame),
-// sequenceLayout(ssf.sequenceLayout),
-// seqCount(ssf.seqCount)//,
-// //seqList(0)
-//{
-//}
+void SequenceSetupFrame::set_default_dir(const QDir& d)
+{
+ default_directory = d;
+}
void SequenceSetupFrame::changeSequenceCount(int newSeqCount)
{
seqCount = newSeqCount;
setupSequences(seqCount);
+ resizeInnerFrame(seqCount);
+}
+
+void SequenceSetupFrame::resizeInnerFrame(int seqCount)
+{
+ if (seqCount >= 1)
+ {
+ sequenceFrame->resize(565, 125 * seqCount + 30);
+ }
+ else
+ {
+ sequenceFrame->resize(565, 125 + 30);
+ }
}
void SequenceSetupFrame::setupSequences(int newSeqCount)
SequenceSetupWidget *seq = 0;
for (int i = 1; i <= numSeqsToAdd; i++)
{
- seq = new SequenceSetupWidget;
+ seq = new SequenceSetupWidget(this);
seqList.push_back(seq);
sequenceLayout->addWidget(seq);
}
}
}
-
+ updateGeometry();
}
std::list<SetupInfo *> SequenceSetupFrame::getSetupInfo()
std::list<SetupInfo *> setupInfoList;
+ QString seqName;
QString seqFile;
QString annotFile;
int fastaIndex;
for (int i = 0; i < curSeqCount; i++)
{
seq = seqList.back();
-
+
+ seqName = seq->getName();
seqFile = seq->getSeqFile();
annotFile = seq->getAnnotFile();
fastaIndex = seq->getFastaIndex();
seqList.push_front(seq);
seqList.pop_back();
- setupInfoList.push_back(new SetupInfo(seqFile.toStdString(),
+ setupInfoList.push_back(new SetupInfo(seqName.toStdString(),
+ seqFile.toStdString(),
annotFile.toStdString(),
fastaIndex, start, end));