8 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
11 SequenceSetupWidget::SequenceSetupWidget(QWidget *parent) :
15 fastaIndexLineEdit(0),
21 sequenceLineEdit = new QLineEdit;
22 //const IsFileValidator *fileValidator = new IsFileValidator(this);
23 //sequenceLineEdit->setValidator(fileValidator);
24 QLabel *sequenceLabel = new QLabel("Sequence Filename:");
25 sequenceLabel->setBuddy(sequenceLineEdit);
27 QPushButton *sequenceButton = new QPushButton("Browse...");
28 connect(sequenceButton, SIGNAL(clicked()),
29 this, SLOT(promptForFastaFile()));
32 annotLineEdit = new QLineEdit;
33 //const IsFileValidator *fileValidator2 = new IsFileValidator(this);
34 //annotLineEdit->setValidator(fileValidator2);
35 QLabel *annotLabel = new QLabel("Annotation Filename:");
36 annotLabel->setBuddy(annotLineEdit);
38 QPushButton *annotButton = new QPushButton("Browse...");
39 connect(annotButton, SIGNAL(clicked()),
40 this, SLOT(promptForAnnotFile()));
43 fastaIndexLineEdit = new QLineEdit;
44 //fastaIndexLineEdit->setMaximumWidth(100);
46 QLabel *fastaIndexLabel = new QLabel("Fasta Index:");
47 fastaIndexLabel->setBuddy(fastaIndexLineEdit);
49 seqStartLineEdit = new QLineEdit;
50 //seqStartLineEdit->setMinimumWidth(60);
51 //seqStartLineEdit->setMaximumWidth(80);
53 QLabel *seqStartLabel = new QLabel("Sequence Start:");
54 seqStartLabel->setBuddy(seqStartLineEdit);
56 seqStopLineEdit = new QLineEdit;
57 //seqStopLineEdit->setMinimumWidth(40);
58 //seqStopLineEdit->setMaximumWidth(60);
60 QLabel *seqStopLabel = new QLabel("Sequence Stop:");
61 seqStopLabel->setBuddy(seqStopLineEdit);
64 QHBoxLayout *sequenceRowLayout = new QHBoxLayout;
65 QHBoxLayout *annotRowLayout = new QHBoxLayout;
66 QHBoxLayout *indexRowLayout = new QHBoxLayout;
67 QVBoxLayout *mainLayout = new QVBoxLayout;
69 sequenceRowLayout->addWidget(sequenceLabel);
70 sequenceRowLayout->addWidget(sequenceLineEdit);
71 sequenceRowLayout->addWidget(sequenceButton);
73 annotRowLayout->addWidget(annotLabel);
74 annotRowLayout->addWidget(annotLineEdit);
75 annotRowLayout->addWidget(annotButton);
77 indexRowLayout->addWidget(fastaIndexLabel);
78 indexRowLayout->addWidget(fastaIndexLineEdit);
79 indexRowLayout->addWidget(seqStartLabel);
80 indexRowLayout->addWidget(seqStartLineEdit);
81 indexRowLayout->addWidget(seqStopLabel);
82 indexRowLayout->addWidget(seqStopLineEdit);
84 mainLayout->addLayout(sequenceRowLayout);
85 mainLayout->addLayout(annotRowLayout);
86 mainLayout->addLayout(indexRowLayout);
87 setLayout(mainLayout);
90 //SequenceSetupWidget::SequenceSetupWidget(const SequenceSetupWidget& ssw) :
91 // sequenceLineEdit(ssw.sequenceLineEdit),
92 // annotLineEdit(ssw.annotLineEdit),
93 // fastaIndexLineEdit(ssw.fastaIndexLineEdit),
94 // seqStartLineEdit(ssw.seqStartLineEdit),
95 // seqStopLineEdit(ssw.seqStopLineEdit)
99 int SequenceSetupWidget::getFastaIndex() const
101 if (fastaIndexLineEdit->text().size() == 0)
104 return fastaIndexLineEdit->text().toInt();
107 void SequenceSetupWidget::promptForFastaFile()
109 QString fastaFilePath = QFileDialog::getOpenFileName(this,
110 "Choose a fasta file",
112 "Fasta (*.fa *.fasta *.fsa *.txt)");
113 if (fastaFilePath.isEmpty())
116 sequenceLineEdit->setText(fastaFilePath);
120 void SequenceSetupWidget::promptForAnnotFile()
122 QString annotFilePath = QFileDialog::getOpenFileName(this,
123 "Choose a annotation file",
125 "Annot (*.txt *.annot)");
126 if (annotFilePath.isEmpty())
129 annotLineEdit->setText(annotFilePath);