8 //#include "qui/IsFileValidator.hpp"
9 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
12 SequenceSetupWidget::SequenceSetupWidget(QWidget *parent) :
16 fastaIndexLineEdit(0),
22 sequenceLineEdit = new QLineEdit;
23 //const IsFileValidator *fileValidator = new IsFileValidator(this);
24 //sequenceLineEdit->setValidator(fileValidator);
25 QLabel *sequenceLabel = new QLabel("Sequence Filename:");
26 sequenceLabel->setBuddy(sequenceLineEdit);
28 QPushButton *sequenceButton = new QPushButton("Browse...");
29 connect(sequenceButton, SIGNAL(clicked()),
30 this, SLOT(promptForFastaFile()));
33 annotLineEdit = new QLineEdit;
34 //const IsFileValidator *fileValidator2 = new IsFileValidator(this);
35 //annotLineEdit->setValidator(fileValidator2);
36 QLabel *annotLabel = new QLabel("Annotation Filename:");
37 annotLabel->setBuddy(annotLineEdit);
39 QPushButton *annotButton = new QPushButton("Browse...");
40 connect(annotButton, SIGNAL(clicked()),
41 this, SLOT(promptForAnnotFile()));
44 fastaIndexLineEdit = new QLineEdit;
45 //fastaIndexLineEdit->setMaximumWidth(100);
47 QLabel *fastaIndexLabel = new QLabel("Fasta Index:");
48 fastaIndexLabel->setBuddy(fastaIndexLineEdit);
50 seqStartLineEdit = new QLineEdit;
51 //seqStartLineEdit->setMinimumWidth(60);
52 //seqStartLineEdit->setMaximumWidth(80);
54 QLabel *seqStartLabel = new QLabel("Sequence Start:");
55 seqStartLabel->setBuddy(seqStartLineEdit);
57 seqStopLineEdit = new QLineEdit;
58 //seqStopLineEdit->setMinimumWidth(40);
59 //seqStopLineEdit->setMaximumWidth(60);
61 QLabel *seqStopLabel = new QLabel("Sequence Stop:");
62 seqStopLabel->setBuddy(seqStopLineEdit);
65 QHBoxLayout *sequenceRowLayout = new QHBoxLayout;
66 QHBoxLayout *annotRowLayout = new QHBoxLayout;
67 QHBoxLayout *indexRowLayout = new QHBoxLayout;
68 QVBoxLayout *mainLayout = new QVBoxLayout;
70 sequenceRowLayout->addWidget(sequenceLabel);
71 sequenceRowLayout->addWidget(sequenceLineEdit);
72 sequenceRowLayout->addWidget(sequenceButton);
74 annotRowLayout->addWidget(annotLabel);
75 annotRowLayout->addWidget(annotLineEdit);
76 annotRowLayout->addWidget(annotButton);
78 indexRowLayout->addWidget(fastaIndexLabel);
79 indexRowLayout->addWidget(fastaIndexLineEdit);
80 indexRowLayout->addWidget(seqStartLabel);
81 indexRowLayout->addWidget(seqStartLineEdit);
82 indexRowLayout->addWidget(seqStopLabel);
83 indexRowLayout->addWidget(seqStopLineEdit);
85 mainLayout->addLayout(sequenceRowLayout);
86 mainLayout->addLayout(annotRowLayout);
87 mainLayout->addLayout(indexRowLayout);
88 setLayout(mainLayout);
91 //SequenceSetupWidget::SequenceSetupWidget(const SequenceSetupWidget& ssw) :
92 // sequenceLineEdit(ssw.sequenceLineEdit),
93 // annotLineEdit(ssw.annotLineEdit),
94 // fastaIndexLineEdit(ssw.fastaIndexLineEdit),
95 // seqStartLineEdit(ssw.seqStartLineEdit),
96 // seqStopLineEdit(ssw.seqStopLineEdit)
100 int SequenceSetupWidget::getFastaIndex() const
102 if (fastaIndexLineEdit->text().size() == 0)
105 return fastaIndexLineEdit->text().toInt();
108 void SequenceSetupWidget::promptForFastaFile()
110 QString fastaFilePath = QFileDialog::getOpenFileName(this,
111 "Choose a fasta file",
113 "Fasta (*.fa *.fasta *.fsa *.txt)");
114 if (fastaFilePath.isEmpty())
117 sequenceLineEdit->setText(fastaFilePath);
121 void SequenceSetupWidget::promptForAnnotFile()
123 QString annotFilePath = QFileDialog::getOpenFileName(this,
124 "Choose a annotation file",
127 if (annotFilePath.isEmpty())
130 annotLineEdit->setText(annotFilePath);