예제 #1
0
void DlgCreateProject::on_pbCreate_clicked()
{
    if (validateFields()){
        accept();
    }
}
예제 #2
0
void MainWindow::executeAlgorithm()
{
    qDebug("...MainWindow::executeAlgorithm()");

    if (!validateFields())
    {
        return;
    }

    //qsrand((uint)QTime::currentTime().msec());

    double inertia = ui->lineEditInertiaParameter->text().toDouble();
    qDebug("valor de inercia: %f",inertia);

    simulation = new Simulation(ui->lineEditCognitiveParameter->text().toInt(),
                                ui->lineEditSocialParameter->text().toInt(),
                                ui->lineEditInertiaParameter->text().toDouble(),
                                ui->lineEditMaxSpeedParameter->text().toInt(),
                                ui->lineEditParticlesParameter->text().toInt(),
                                ui->lineEditIterationsParameter->text().toInt(),
                                ui->checkBoxGrid->isChecked(),
                                ui->lineEditSubintervals->text().toInt());

    // inicializar las particulas
    // (la inicializacion de los repositorios (global y locales) tambien se ejecuta en este paso)
    simulation->initializeParticles();
    qDebug("***********particulas inicializadas**************");


    // prueba de imprimir los individuos inicializados del repositorio global
    //genericAlgorithmSolutions = simulation->getGlobalRepository()->getRepositoryList();
    //plotSolutions();
    //return;



    if (simulation->getSelectionModified())
    {
        qDebug("****************************simulation->getSelectionModified()***************");
        // inicializar la grid
        simulation->intializeGrid();
        qDebug("***********grid inicializada**************");
    }



    // repetir por el numero maximo de generaciones
    //do{
    while(!simulation->stopEvolution()) // fin de la repeticion
    {
        // actualizar las particulas
        simulation->updateParticles();
        qDebug("***********particulas actualizadas**************");


        // evaluar las particulas



        // incrementar el valor de la iteracion
        simulation->incrementIteration();
        qDebug("...fin de iteracion: %d", simulation->getCurrentIteration());

    //}while(!simulation->stopEvolution()); // fin de la repeticion
    }
    qDebug("...terminó la simulación.");

    simulation->printGlobalRepository();

    // poblar la lista de individuos no dominados del archivo externo
    populateListView();

    if (simulation->getSelectionModified())
    {
        modificatedAlgorithmSolutions = simulation->getGlobalRepository()->getRepositoryList();
    }
    else
    {
        genericAlgorithmSolutions = simulation->getGlobalRepository()->getRepositoryList();
    }

    // generar el grafico
    plotSolutions();

/*
    if (ui->checkBoxComparation->isChecked())
    {
        if (firstExecution)
        {
            firstExecution = false;
        }
        else
        {
            setupCustomPlot2(ui->customPlot);
        }

    }
    else
    {
        setupCustomPlot(ui->customPlot);
    }
*/

}
예제 #3
0
void DatabaseConfigDialog::doAccept() {
    qDebug("...doAccept....");

    // validar que los campos no esten vacios
    if (!validateFields())
        return;

    // verificar si se desea crear la base de datos local de pruebas
    if (ui->checkBoxDBLocal->checkState () == Qt::Checked ){

        if (createDB()){
            MainWindow::mymainwindow->setEnableCompletingButtons(true);
            SafetYAWL::streamlog <<  SafetLog::Debug <<
                    tr("Creada la base de datos local para propositos de prueba.");

        }
        else{
            QMessageBox::warning(this, "SAFET - InFLow", trUtf8("No se pudo crear la base de datos local. Verifique nombre de usuario y contraseña."));
            SafetYAWL::streamlog << SafetLog::Warning << tr("No se pudo crear la base de datos local.");
            return;
        }

    }

    bool connection = false;
    //connection = testDataSources();
    connection = testNewDataSources();
    if (!connection){
        qDebug("... La conexion fallo");
        //QMessageBox::warning(this, "SAFET - InFLow", trUtf8("La conexión falló"));

        return;
    }
    else // en este punto los datos colocados son correctos y se debe cifrar
    {
        qDebug("Se va a cifrar");

        QStringList results = configValues();

        QStringList keys;
        keys << "database.sourcename.1"
                << "database.driver.1"
                << "database.host.1"
                << "database.db.1"
                << "database.port.1"
                << "database.user.1"
                << "database.password.1";

        QString fileconf = SafetYAWL::pathconf+ "/" + "auth.conf";
        QString replacetext;
        if (QFile::exists(fileconf)) {
            QString firstkeyfield, secondkeyfield, searchtext;
            int i=0;
            foreach(QString s, results) {
                firstkeyfield = keys.at(i).toLocal8Bit().constData();
                //qDebug("...firstkeyfield: %s", qPrintable(firstkeyfield));
                secondkeyfield = s;
                //qDebug("...secondkeyfield: %s",qPrintable(secondkeyfield));
/*
                searchtext = tr("\\s*(%1)\\s*\\=\\s*([áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$,;\\x3c\\x3e\\x2f]"
                        "[áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$\\s,;\\x3c\\x3e\\x2f]*"
                        "[áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$,;\\x3c\\x3e\\x2f])").arg(firstkeyfield);
*/
                searchtext = tr("\\s*(%1)\\s*\\=((\\s*([áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$,;\\x3c\\x3e\\x2f]"
                                "[áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$\\s,;\\x3c\\x3e\\x2f]*"
                                "[áéíóúñÑa-zA-Z0-9\\$\\#/\\-\\._/:!\\?\\^\\$,;\\x3c\\x3e\\x2f]))||(\\s*))").arg(firstkeyfield);

                replacetext  = tr("%1 = %2").arg(firstkeyfield).arg(secondkeyfield);

                //qDebug("...DatabaseConfigDialog::doAccept()...replacetext:|%s|",qPrintable(replacetext));
                if (SafetYAWL::replaceTextInFile(fileconf,
                                     searchtext,
                                     replacetext))
                i++;
            }

            MainWindow::mymainwindow->doCipherFile(true);

            SafetYAWL::readAuthConfFile();

            //limpiar el archivo auth.conf
            cleanConfigurationFile();

            //QMessageBox::information(this, "SAFET - InFlow", "Configuración de fuente de datos almacenada exitosamente.");

        }
        else
        {