Init version
This commit is contained in:
193
DEC_GUI/mainwindow.cpp
Normal file
193
DEC_GUI/mainwindow.cpp
Normal file
@@ -0,0 +1,193 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include "createdialogs.h"
|
||||
#include <QMenuBar>
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <Agressor/manager.h>
|
||||
#include "DEC-0.0/processor/KolchShindyalov.h"
|
||||
#include "DEC-0.0/processor/Processor.h"
|
||||
#include "DEC-0.0/processor/Settings.h"
|
||||
#include "DEC-0.0/DerevyankoReport.h"
|
||||
#include "DEC-0.0/DerevyankoReport2014.h"
|
||||
#include "DEC-0.0/processor/Settings.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
createActions();
|
||||
createMenus();
|
||||
|
||||
connect(this, SIGNAL(drawDefaultGraphs()), &derrep2014window, SLOT(startDefault()));
|
||||
connect(this, SIGNAL(drawRep2013()), &derrep2013window, SLOT(startDraw()));
|
||||
connect(this, SIGNAL(drawBreed(int)), &breedWindow, SLOT(startDraw(int)));
|
||||
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void MainWindow::createActions()
|
||||
{
|
||||
openAct = new QAction(tr("&Open..."), this);
|
||||
openAct->setShortcuts(QKeySequence::Open);
|
||||
openAct->setStatusTip(tr("Open an existing file"));
|
||||
connect(openAct, SIGNAL(triggered()), this, SLOT(openFile()));
|
||||
chooseModel = new QAction(tr("&Choose model.."), this);
|
||||
connect(chooseModel, SIGNAL(triggered()), this, SLOT(showChooseModelDialog()));
|
||||
}
|
||||
|
||||
void MainWindow::createMenus()
|
||||
{
|
||||
fileMenu = menuBar()->addMenu(tr("&File"));
|
||||
fileMenu->addAction(openAct);
|
||||
fileMenu->addSeparator();
|
||||
controlMenu = menuBar()->addMenu(tr("&Control"));
|
||||
controlMenu->addAction(chooseModel);
|
||||
|
||||
helpMenu = menuBar()->addMenu(tr("&Help"));
|
||||
//helpMenu->addAction(aboutAct);
|
||||
}
|
||||
|
||||
void MainWindow::openFile()
|
||||
{
|
||||
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "",
|
||||
tr("Text Files (*.txt);;C++ Files (*.cpp *.h)"));
|
||||
|
||||
if (fileName != "")
|
||||
{
|
||||
/*QFile file(fileName);
|
||||
if (!file.open(QIODevice::ReadOnly))
|
||||
{
|
||||
QMessageBox::critical(this, tr("Error"), tr("Could not open file"));
|
||||
return;
|
||||
}*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::showChooseModelDialog()
|
||||
{
|
||||
CreateDialogs dialog(this, 1, "lol"); //choose model dialog
|
||||
int ret = dialog.exec();
|
||||
if (ret == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialog.checkDerRep2014_button())
|
||||
{
|
||||
CreateDialogs dialogDerRep2014(this, 2, "Homo");
|
||||
int ret = dialogDerRep2014.exec();
|
||||
if (ret == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialogDerRep2014.checkLoci())
|
||||
{
|
||||
QMessageBox::information(this, "Information", "Press 'Default' button or enter locis", QMessageBox::Ok, 0);
|
||||
return;
|
||||
}
|
||||
Settings::numLoci = dialogDerRep2014.getNumLociVal();
|
||||
Settings::PopulationHomoInitSize = dialogDerRep2014.getSizeNum();
|
||||
Settings::percentDiffLoci = dialogDerRep2014.getPerDiffLoci();
|
||||
Settings::initMtDNA = dialogDerRep2014.getInitHomoGen();
|
||||
|
||||
CreateDialogs dialogDerRep2014_2(this, 3, "Ancient");
|
||||
int rets = dialogDerRep2014_2.exec();
|
||||
if (rets == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialogDerRep2014_2.checkLoci())
|
||||
{
|
||||
QMessageBox::information(this, "Information", "Press 'Default' button or enter locis", QMessageBox::Ok, 0);
|
||||
return;
|
||||
}
|
||||
Settings::PopulationAncientInitSize = dialogDerRep2014.getSizeNum();
|
||||
Settings::initMtDNA_ancient = dialogDerRep2014.getInitAncientGen();
|
||||
|
||||
|
||||
DerevyankoReport2014::report2014_01(/*argc,argv*/);
|
||||
derrep2014window.setWindowTitle("DerevyankoReport2014");
|
||||
derrep2014window.setParametersSettings();
|
||||
derrep2014window.show();
|
||||
derrep2014window.raise();
|
||||
derrep2014window.setFocus();
|
||||
derrep2014window.activateWindow();
|
||||
emit drawDefaultGraphs();
|
||||
//std::cout << Settings::ancientCommonSize.size() << std::endl;
|
||||
}
|
||||
if (dialog.checkDerRepRFBR_button())
|
||||
{
|
||||
CreateDialogs dialogDerRep2013(this, 4, "Pop_f");
|
||||
int ret = dialogDerRep2013.exec();
|
||||
if (ret == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialogDerRep2013.checkLoci())
|
||||
{
|
||||
QMessageBox::information(this, "Information", "Press 'Default' button or enter locis", QMessageBox::Ok, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
CreateDialogs dialogDerRep2013_2(this, 5, "Pop_G");
|
||||
int rets = dialogDerRep2013_2.exec();
|
||||
if (rets == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dialogDerRep2013_2.checkLoci())
|
||||
{
|
||||
QMessageBox::information(this, "Information", "Press 'Default' button or enter locis", QMessageBox::Ok, 0);
|
||||
return;
|
||||
}
|
||||
DerevyankoReport::reportRFBR2013_01();
|
||||
derrep2013window.setWindowTitle("DerevyankoReport2013");
|
||||
derrep2013window.show();
|
||||
derrep2013window.raise();
|
||||
derrep2013window.setFocus();
|
||||
derrep2013window.activateWindow();
|
||||
emit drawRep2013();
|
||||
}
|
||||
if (dialog.checkKolch_button())
|
||||
{
|
||||
kolchshindwindow.setWindowTitle("Kolch_Shind");
|
||||
kolchshindwindow.show();
|
||||
kolchshindwindow.raise();
|
||||
kolchshindwindow.setFocus();
|
||||
kolchshindwindow.activateWindow();
|
||||
|
||||
//KolchShindyalov::test01();
|
||||
}
|
||||
if (dialog.checkInOutBreed_bitton())
|
||||
{
|
||||
CreateDialogs dialog(this, 7, "Breed");
|
||||
int ret = dialog.exec();
|
||||
if (ret == QDialog::Rejected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Settings::Iterations = dialog.getMaxGen();
|
||||
Settings::InitPopSize = dialog.getInitPopSize();
|
||||
Settings::InitRatioBetweenPops = dialog.getBetweenRatio();
|
||||
Settings::KMaxParameter = dialog.getMaxIndivids();
|
||||
Processor::testInOutBreeding02();
|
||||
breedWindow.setWindowTitle("InOutBreeding");
|
||||
breedWindow.setPopComboBoxes();
|
||||
breedWindow.show();
|
||||
breedWindow.raise();
|
||||
breedWindow.setFocus();
|
||||
breedWindow.activateWindow();
|
||||
emit drawBreed(0);
|
||||
}
|
||||
if (dialog.checkAgressor_button())
|
||||
{
|
||||
Manager *man = new Manager();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user