Changeset 9b2ca78 in mmcs for mainwindow.C


Ignore:
Timestamp:
Nov 14, 2016, 10:32:49 AM (8 years ago)
Author:
rudmanmrrod <rudman22@…>
Branches:
master
Children:
82657bc
Parents:
f6d90ed
Message:

Agregada comparacion de escenarios de la descomposicion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mainwindow.C

    rf6d90ed r9b2ca78  
    403403    Descomposicion.addAction(&actionCortoPlazo);
    404404
     405    actionCompararDescomposicion.setText("&Comparar Resultados");
     406    actionCompararDescomposicion.setDisabled(true);
     407
     408    Descomposicion.addAction(&actionCompararDescomposicion);
     409
    405410    menuTools.addMenu(&Descomposicion);
    406411
     
    936941    : actionNewProject(this),actionLoadMatrix(this), actionExportMatrix(this), actionQuit(this),actionCH(this), actionCV(this),
    937942      actionVariableExogena(this),actionEncadenamiento(this),
    938       actionDescomposicion(this), actionCortoPlazo(this),
     943      actionDescomposicion(this), actionCortoPlazo(this), actionCompararDescomposicion(this),
    939944      actionModeloClasico(this), actionCompararResultados(this),actionModeloNoClasico(this),actionCompararResultadosMNC(this),
    940945      actionPHClasicoIncidencia100(this),actionPHCIncidenciaCuenta(this),actionPHCIncidenciaComponente(this),
     
    977982    cantidadPNHincidenciaiComponente = 1;
    978983    cantidadImpactos = 1;
     984    comparacionImpactos = 1;
    979985
    980986    initGUI();
     
    41574163    {
    41584164        formCompararResultados = new FormCompararResultados(this);
    4159         QStringList nombres = obtenerNombreResultadoEscenario();
     4165        QStringList nombres = obtenerNombreResultadoEscenario(cantidadEscenarios,"Resultado C");
    41604166        formCompararResultados->ui->resultadosListWidget->addItems(nombres);
    41614167        connect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultado()));
     
    41644170    else
    41654171    {
     4172        disconnect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultado()));
     4173        disconnect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultadoDescomposicion()));
    41664174        formCompararResultados->ui->resultadosListWidget->clear();
    4167         QStringList nombres = obtenerNombreResultadoEscenario();
     4175        QStringList nombres = obtenerNombreResultadoEscenario(cantidadEscenarios,"Resultado C");
    41684176        formCompararResultados->ui->resultadosListWidget->addItems(nombres);
     4177        connect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultado()));
    41694178    }
    41704179    formCompararResultados->show();
     
    41754184    @date 02/10/2015
    41764185    @author Rodrigo Boet
     4186    @param <cantidad> Recibe la cantidad de elementos
     4187    @param <nombre> Recibe el nombre de la pestaña que buscará
    41774188    @return <nombres> retorna los nombres de los resultados del escenario
    41784189*/
    4179 QStringList MainWindow::obtenerNombreResultadoEscenario()
     4190QStringList MainWindow::obtenerNombreResultadoEscenario(int cantidad, QString nombre)
    41804191{
    41814192    QStringList nombres;
    4182     for(int i=1;i<cantidadEscenarios;i++)
    4183     {
    4184         int indice = ObtenerIndice(QString("Resultado C %1").arg(i));
     4193    for(int i=1;i<cantidad;i++)
     4194    {
     4195        int indice = ObtenerIndice(QString(nombre+" %1").arg(i));
    41854196        nombres.append(tabWidget->tabText(indice));
    41864197    }
     
    65146525void MainWindow::finalizarImpacto()
    65156526{
    6516     QMessageBox msBox(QMessageBox::Question,"Finalizar Escenario","¿Está seguro que desea finalizar\ este escenario?",
     6527    QMessageBox msBox(QMessageBox::Question,"Finalizar Escenario","¿Está seguro que desea finalizar\neste escenario?",
    65176528                      QMessageBox::Yes | QMessageBox::No,this);
    65186529    msBox.setButtonText(QMessageBox::Yes,"&Si");
     
    65446555        actionCortoPlazo.setEnabled(true);
    65456556        formcortoplazo->ui->listSeleccionado->clear();
    6546         /*if(cantidadEscenarios>2)
    6547         {
    6548             actionCompararResultados.setEnabled(true);
    6549             connect(&actionCompararResultados,SIGNAL(triggered()),this,SLOT(slotCompararResultados()));
    6550         }*/
     6557        if(cantidadImpactos>2)
     6558        {
     6559            actionCompararDescomposicion.setEnabled(true);
     6560            connect(&actionCompararDescomposicion,SIGNAL(triggered()),this,SLOT(slotFormResultadosDescomposicion()));
     6561        }
    65516562    }
    65526563}
     
    65886599        }
    65896600    }
    6590     qDebug()<<totalCuentasEncadenamiento;
    6591 }
     6601}
     6602
     6603/**
     6604    @brief Función para abrir el formulario de comparar resultados
     6605    @date 14/11/2016
     6606    @author Rodrigo Boet
     6607*/
     6608void MainWindow::slotFormResultadosDescomposicion()
     6609{
     6610    if(opcionFormCompararResultados == 0)
     6611    {
     6612        formCompararResultados = new FormCompararResultados(this);
     6613        QStringList nombres = obtenerNombreResultadoEscenario(cantidadImpactos,"Resultado CP");
     6614        formCompararResultados->ui->resultadosListWidget->addItems(nombres);
     6615        connect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultadoDescomposicion()));
     6616        opcionFormCompararResultados ++;
     6617    }
     6618    else
     6619    {
     6620        disconnect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultado()));
     6621        disconnect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultadoDescomposicion()));
     6622        formCompararResultados->ui->resultadosListWidget->clear();
     6623        QStringList nombres = obtenerNombreResultadoEscenario(cantidadImpactos,"Resultado CP");
     6624        formCompararResultados->ui->resultadosListWidget->addItems(nombres);
     6625        connect(formCompararResultados->ui->buttonVerResultados,SIGNAL(clicked()),this,SLOT(slotVerResultadoDescomposicion()));
     6626    }
     6627    formCompararResultados->show();
     6628}
     6629
     6630/**
     6631    @brief Función para comparar los resultados de la descomposición de multiplicadores
     6632    @date 14/11/2016
     6633    @author Rodrigo Boet
     6634*/
     6635void MainWindow::slotVerResultadoDescomposicion()
     6636{
     6637    QTableWidget *tablaComparar = new QTableWidget;
     6638    tablaComparar->setObjectName(QString("TablaCompararResultadoImpacto %1").arg(comparacionImpactos));
     6639    QTableWidget *endogena = findChild<QTableWidget *>("MatrizEndogenaEndogena");
     6640    int contador = endogena->rowCount()-2;
     6641    crearTablaVaciaEncadenamiento(contador,tablaComparar,2);
     6642    cuentacomponentesResultado(tablaComparar,contador);
     6643    int contar=formCompararResultados->ui->resultadosListWidget->selectedItems().count();
     6644    for(int i=0;i<contar;i++)
     6645    {
     6646        QString text = formCompararResultados->ui->resultadosListWidget->selectedItems().value(i)->text();
     6647        QStringList number = text.split(" ");
     6648        text = number.at(2);
     6649        QTableWidget *tw = findChild<QTableWidget *>(QString("TablaResultadoImpactos %1").arg(text));
     6650        crearTablaComparar(tablaComparar,tw);
     6651    }
     6652    //Se agrega el nombre de los resultados
     6653    tablaComparar->insertRow(0);
     6654    QFont font;
     6655    font.setBold(true);
     6656    int j = 0;
     6657    for(int i=0;i<contar;i++)
     6658    {
     6659        QString text = formCompararResultados->ui->resultadosListWidget->selectedItems().value(i)->text();
     6660        QTableWidgetItem *item1 = new QTableWidgetItem(text);
     6661        item1->setFlags(item1->flags() ^ Qt::ItemIsEditable);
     6662        item1->setFont(font);
     6663        item1->setTextAlignment(Qt::AlignCenter);
     6664        QTableWidgetItem *item2 = new QTableWidgetItem(text);
     6665        item2->setFlags(item2->flags() ^ Qt::ItemIsEditable);
     6666        item2->setFont(font);
     6667        item2->setTextAlignment(Qt::AlignCenter);
     6668        tablaComparar->setItem(0,2+j,item1);
     6669        j++;
     6670        tablaComparar->setItem(0,2+j,item2);
     6671        tablaComparar->setSpan(0,(2+j)-1,1,2);
     6672        j++;
     6673    }
     6674    ItemsNoEditable(tablaComparar,0,2);
     6675
     6676    createTab(QString("Comparacion Impactos %1").arg(comparacionImpactos),tablaComparar,true);
     6677
     6678    formCompararResultados->close();
     6679    comparacionImpactos++;
     6680}
Note: See TracChangeset for help on using the changeset viewer.