MussaSetupWidget::MussaSetupWidget(QWidget *parent)
: QWidget(parent),
- createPushButton(tr("Create")),
- cancelPushButton(tr("Cancel")),
+ analysisNameLineEdit(new QLineEdit),
+ windowEdit(new QSpinBox),
+ thresholdEdit(new QSpinBox),
+ numOfSequencesSpinBox(new QSpinBox),
+ createPushButton(new QPushButton(tr("Create"))),
+ cancelPushButton(new QPushButton(tr("Cancel"))),
seqSetupFrame(0)
{
// Analysis name
QLabel *analysisNameLabel = new QLabel(tr("Analysis Name"));
- analysisNameLabel->setBuddy(&analysisNameLineEdit);
+ analysisNameLabel->setBuddy(analysisNameLineEdit);
// Window
+ windowEdit->setMinimum(1);
+ windowEdit->setValue(30);
QLabel *windowLabel = new QLabel(tr("Window (nt)"));
- windowLabel->setBuddy(&windowLineEdit);
+ windowLabel->setBuddy(windowEdit);
// Threshold
+ thresholdEdit->setMinimum(1);
+ thresholdEdit->setMaximum(windowEdit->value());
+ thresholdEdit->setValue(21);
QLabel *thresholdLabel = new QLabel(tr("Threshold (nt)"));
- thresholdLabel->setBuddy(&thresholdLineEdit);
+ thresholdLabel->setBuddy(thresholdEdit);
+ connect(windowEdit, SIGNAL(valueChanged(int)),
+ this, SLOT(updateThreshold(int)));
// Number of sequences
QLabel *numOfSequencesLabel = new QLabel(tr("Number of sequences"));
- numOfSequencesLabel->setBuddy(&numOfSequencesSpinBox);
- numOfSequencesSpinBox.setMinimum(1);
+ numOfSequencesLabel->setBuddy(numOfSequencesSpinBox);
+ numOfSequencesSpinBox->setMinimum(1);
//Sequence setup frame
seqSetupFrame = new SequenceSetupFrame;
- connect(&numOfSequencesSpinBox, SIGNAL(valueChanged(int)),
+ connect(numOfSequencesSpinBox, SIGNAL(valueChanged(int)),
seqSetupFrame, SLOT(changeSequenceCount(int)));
- numOfSequencesSpinBox.setValue(2);
+ numOfSequencesSpinBox->setValue(2);
// Create Experiment Button
- connect(&createPushButton, SIGNAL(pressed()),
+ connect(createPushButton, SIGNAL(pressed()),
this, SLOT(mussaCreatePushed()));
// Cancle Button
- connect(&cancelPushButton, SIGNAL(pressed()),
+ connect(cancelPushButton, SIGNAL(pressed()),
this, SLOT(mussaCancelPushed()));
// LAYOUT
QHBoxLayout *buttonLayout = new QHBoxLayout;
row1Layout->addWidget(analysisNameLabel);
- row1Layout->addWidget(&analysisNameLineEdit);
+ row1Layout->addWidget(analysisNameLineEdit);
row2Layout->addWidget(thresholdLabel);
- row2Layout->addWidget(&thresholdLineEdit);
+ row2Layout->addWidget(thresholdEdit);
row2Layout->addWidget(windowLabel);
- row2Layout->addWidget(&windowLineEdit);
+ row2Layout->addWidget(windowEdit);
row2Layout->addWidget(numOfSequencesLabel);
- row2Layout->addWidget(&numOfSequencesSpinBox);
+ row2Layout->addWidget(numOfSequencesSpinBox);
- buttonLayout->addWidget(&createPushButton);
- buttonLayout->addWidget(&cancelPushButton);
+ buttonLayout->addStretch(1);
+ buttonLayout->addWidget(createPushButton);
+ buttonLayout->addWidget(cancelPushButton);
mainLayout->addLayout(row1Layout);
mainLayout->addLayout(row2Layout);
mainLayout->addWidget(seqSetupFrame);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
-
}
void MussaSetupWidget::mussaCreatePushed()
emit cancelButtonPushed();
}
+void MussaSetupWidget::updateThreshold(int new_threshold)
+{
+ thresholdEdit->setMaximum(new_threshold);
+}
+
MussaRef MussaSetupWidget::getMussaObject()
{
MussaRef mussa(new Mussa);
}
setupInfoList.clear();
- int win_size = windowLineEdit.text().toInt();
- int threshold = thresholdLineEdit.text().toInt();
- std::string name = analysisNameLineEdit.text().toStdString();
+ int win_size = windowEdit->value();
+ int threshold = thresholdEdit->value();
+ std::string name = analysisNameLineEdit->text().toStdString();
if (win_size == 0 or threshold == 0) {
throw mussa_load_error("must set analysis parameters");
} else {
return mussa;
}
-//MussaSetupWidget::MussaSetupWidget(const MussaSetupWidget& msw)
-// : analysisNameLineEdit(msw.analysisNameLineEdit),
-// windowLineEdit(msw.windowLineEdit),
-// thresholdLineEdit(msw.thresholdLineEdit),
-// numOfSequencesLineEdit(msw.numOfSequencesLineEdit),
-// seqSetupFrame(msw.seqSetupFrame)
-//{
-//}