Init version
This commit is contained in:
146
DEC_GUI/derreprfbr2013window.cpp
Normal file
146
DEC_GUI/derreprfbr2013window.cpp
Normal file
@@ -0,0 +1,146 @@
|
||||
#include "derreprfbr2013window.h"
|
||||
#include "ui_derreprfbr2013window.h"
|
||||
#include "createdialogs.h"
|
||||
#include "DEC-0.0/DerevyankoReport.h"
|
||||
#include <QMessageBox>
|
||||
|
||||
DerRepRFBR2013window::DerRepRFBR2013window(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::DerRepRFBR2013window)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setParametersSettings();
|
||||
editText_flag = 0;
|
||||
connect(this, SIGNAL(drawGraph(QCustomPlot *)), &derRep2013Qplot, SLOT(drawGraphics(QCustomPlot*)));
|
||||
}
|
||||
|
||||
DerRepRFBR2013window::~DerRepRFBR2013window()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void DerRepRFBR2013window::startDraw()
|
||||
{
|
||||
emit drawGraph(ui->Plot_widget);
|
||||
}
|
||||
|
||||
void DerRepRFBR2013window::setParametersSettings()
|
||||
{
|
||||
ui->birthRate_doubleSpinBox->setRange(0, 100);
|
||||
ui->birthRate_doubleSpinBox->setSingleStep(0.1);
|
||||
ui->birthRate_doubleSpinBox->setValue(0.25f);
|
||||
ui->deltaBirth_doubleSpinBox->setRange(0, 100);
|
||||
ui->deltaBirth_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->deltaBirth_doubleSpinBox->setValue(0.0002f);
|
||||
ui->migr_f_G_spinBox->setRange(0, 10000);
|
||||
ui->migr_f_G_spinBox->setSingleStep(50);
|
||||
ui->migr_f_G_spinBox->setValue(100);
|
||||
ui->migr_A_B_spinBox->setRange(0, 10000);
|
||||
ui->migr_A_B_spinBox->setSingleStep(50);
|
||||
ui->migr_A_B_spinBox->setValue(100);
|
||||
ui->migr_A_C_spinBox->setRange(0, 10000);
|
||||
ui->migr_A_C_spinBox->setSingleStep(50);
|
||||
ui->migr_A_C_spinBox->setValue(150);
|
||||
ui->migr_A_D_spinBox->setRange(0, 10000);
|
||||
ui->migr_A_D_spinBox->setSingleStep(50);
|
||||
ui->migr_A_D_spinBox->setValue(200);
|
||||
ui->migr_A_E_spinBox->setRange(0, 10000);
|
||||
ui->migr_A_E_spinBox->setSingleStep(50);
|
||||
ui->migr_A_E_spinBox->setValue(250);
|
||||
ui->migr_A_F_spinBox->setRange(0, 10000);
|
||||
ui->migr_A_F_spinBox->setSingleStep(50);
|
||||
ui->migr_A_F_spinBox->setValue(300);
|
||||
ui->part_f_G_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_f_G_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_f_G_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_G_f_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_G_f_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_G_f_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_A_B_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_A_B_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_A_B_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_B_A_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_B_A_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_B_A_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_A_C_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_A_C_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_A_C_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_A_D_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_A_D_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_A_D_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_A_E_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_A_E_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_A_E_doubleSpinBox->setValue(0.01f);
|
||||
ui->part_A_F_doubleSpinBox->setRange(0, 100);
|
||||
ui->part_A_F_doubleSpinBox->setSingleStep(0.01);
|
||||
ui->part_A_F_doubleSpinBox->setValue(0.01f);
|
||||
ui->pop_comboBox->addItem("Pop_f", QVariant(0));
|
||||
ui->pop_comboBox->addItem("Pop_G", QVariant(1));
|
||||
ui->evolTime_spinBox->setRange(0, 100000);
|
||||
ui->evolTime_spinBox->setSingleStep(100);
|
||||
ui->evolTime_spinBox->setValue(10);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void DerRepRFBR2013window::on_pop_comboBox_currentIndexChanged(int index)
|
||||
{
|
||||
if (editText_flag == 0)
|
||||
{
|
||||
int ind = ui->pop_comboBox->itemData(ui->pop_comboBox->currentIndex()).toInt();
|
||||
|
||||
ui->textEdit->clear();
|
||||
ui->textEdit->setTextBackgroundColor(Qt::cyan);
|
||||
ui->textEdit->setText("Males");
|
||||
int i = 0;
|
||||
std::cout << ind << std::endl;
|
||||
for (std::list<Individual*>::iterator it = DerevyankoReport::pops[ind]->males.begin(); it != DerevyankoReport::pops[ind]->males.end(); it++)
|
||||
{
|
||||
|
||||
i++;
|
||||
if (i < 10)
|
||||
{
|
||||
ui->textEdit->append(QString::fromStdString((*it)->getGenotype().toSimpleFasta()));
|
||||
}
|
||||
}
|
||||
ui->textEdit->setTextBackgroundColor(Qt::magenta);
|
||||
ui->textEdit->append("Females");
|
||||
int j = 0;
|
||||
for (std::list<Individual*>::iterator it = DerevyankoReport::pops[ind]->females.begin(); it != DerevyankoReport::pops[ind]->females.end(); it++)
|
||||
{
|
||||
j++;
|
||||
if (j < 10)
|
||||
{
|
||||
ui->textEdit->append(QString::fromStdString((*it)->getGenotype().toSimpleFasta()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DerRepRFBR2013window::on_split_pushButton_clicked()
|
||||
{
|
||||
CreateDialogs dialog(this, 6, "report2013");
|
||||
int ret = dialog.exec();
|
||||
if (ret == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialog.checkPopName())
|
||||
{
|
||||
QMessageBox::information(this, "Information", "Enter pop name!", QMessageBox::Ok, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
DerevyankoReport::separatePop(dialog.getPopName(), dialog.getFounderVal(), dialog.getSepPopInd());
|
||||
//DerevyankoReport::evolution(dialog.getEvolTime());
|
||||
ui->pop_comboBox->addItem(DerevyankoReport::populNames[DerevyankoReport::populNames.size() - 1]);
|
||||
ui->pop_comboBox->addItem(DerevyankoReport::populNames[DerevyankoReport::populNames.size() - 2]);
|
||||
emit drawGraph(ui->Plot_widget);
|
||||
}
|
||||
|
||||
void DerRepRFBR2013window::on_evol_pushButton_clicked()
|
||||
{
|
||||
DerevyankoReport::evolution(ui->evolTime_spinBox->value());
|
||||
emit drawGraph(ui->Plot_widget);
|
||||
}
|
||||
Reference in New Issue
Block a user