Changeset e506dab in mmcs for mainwindow.C
- Timestamp:
- Aug 25, 2015, 2:19:23 PM (9 years ago)
- Branches:
- master, matrices
- Children:
- fa3f7a3
- Parents:
- 9d6942d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
mainwindow.C
r49083f1 re506dab 28 28 29 29 QLabel *label = new QLabel; 30 label->setText(" Seleccione una de las matrices");30 label->setText("Exportará la siguiente matriz: "); 31 31 label->setStyleSheet("font-size:14;font-weight:bold;"); 32 32 layoutLateralWidget->addWidget(label); 33 33 34 formExportMatriz->Exportcb = new QComboBox; 35 formExportMatriz->Exportcb->setFixedWidth(150); 34 int indice = tabWidget->currentIndex(); 35 QString text = tabWidget->tabText(indice); 36 formExportMatriz->MatrixName = new QLineEdit; 37 formExportMatriz->MatrixName->setFixedWidth(150); 38 formExportMatriz->MatrixName->setText(text); 39 formExportMatriz->MatrixName->setReadOnly(true); 36 40 QVBoxLayout *cbLayout = new QVBoxLayout; 37 cbLayout->addWidget(formExportMatriz-> Exportcb);41 cbLayout->addWidget(formExportMatriz->MatrixName); 38 42 QWidget *cbWidget = new QWidget; 39 43 cbWidget->setLayout(cbLayout); 40 41 QStringList list;42 list << "valor1" << "valor2" << "valor3";43 formExportMatriz->Exportcb->addItems(list);44 44 45 45 layoutLateralWidget->addWidget(cbWidget); … … 48 48 label2->setText("Archivo"); 49 49 formExportMatriz->ExportLine = new QLineEdit; 50 //line->setObjectName("lineaCarga");51 50 formExportMatriz->ExportLine->setReadOnly(true); 52 51 formExportMatriz->ExportLine->setFixedWidth(450); … … 65 64 66 65 67 /*** Se crean y personalizan los bottones para agregar, finalizar, deshacer y cancelar ***/66 /*** Se crean y personalizan los bottones para exportar y cancelar ***/ 68 67 QPushButton * buttonExportar = new QPushButton; 69 68 buttonExportar->setObjectName("ExportarMatriz");//Se le asigna nombre al objeto … … 98 97 else 99 98 { 99 int indice = tabWidget->currentIndex(); 100 QString text = tabWidget->tabText(indice); 101 formExportMatriz->MatrixName->setText(text); 100 102 formExportMatriz->show(); 101 103 } … … 680 682 } 681 683 682 QTableWidget *matrizEndogena = new QTableWidget; 683 matrizEndogena->setObjectName("MatrizEndogenaEndogena"); 684 CrearTablaVacia(count,matrizEndogena); 685 QTableWidgetItem *ValoraInsertar = new QTableWidgetItem(""); 686 ValoraInsertar->setFlags(ValoraInsertar->flags() ^ Qt::ItemIsEditable); 687 matrizEndogena->setItem(0,0,ValoraInsertar); 688 689 690 clonarTabla(tablaEE,matrizEndogena,count); 691 CalcularTotales(matrizEndogena,2); 692 693 setEndogenaExogenaCell(tablaEE,count,0,false); 694 CalcularTotales(tablaEE,3); 684 CalcularTotales(tablaEE,2); 685 setEndogenaExogenaCell(tablaEE,2,count-2,false); 695 686 696 687 //Se agrega la nueva pestaña … … 703 694 formVariablesExogenas->close(); 704 695 705 /* Se crea la pestaña endogena-endogena */706 tabWidget->addTab(new QWidget,"Endogena-Endogena");707 int indiceEndogeno=ObtenerIndice("Endogena-Endogena");//Se obtiene el indice de la pestaña708 QHBoxLayout * layoutEndogeno = new QHBoxLayout;709 layoutEndogeno->addWidget(matrizEndogena);710 QWidget *widgetEndogeno = tabWidget->widget(indiceEndogeno);711 widgetEndogeno->setLayout(layoutEndogeno);//Se añade el widget y layout a la pestaña creada712 696 713 697 //Se juntan los espacios referentes a las cuentas 714 698 crearDiccionario(tablaEE); 715 699 spanEndogenaCell(tablaEE,3,1); 716 spanEndogenaCell(matrizEndogena,2,0,false);717 718 //obtenerCuentaComponentes();//Se guardan las cuentas/componentes*/719 700 720 701 } … … 1460 1441 ValoraInsertar->setFlags(ValoraInsertar->flags() ^ Qt::ItemIsEditable); 1461 1442 tw->setItem(0,0,ValoraInsertar); 1462 /* Titulos para las Cuentas endogenas */ 1463 QTableWidgetItem *CuentaEndogenafila = new QTableWidgetItem("Cuentas Endógenas"); 1464 CuentaEndogenafila->setFlags(CuentaEndogenafila->flags() ^ Qt::ItemIsEditable); 1465 CuentaEndogenafila->setTextAlignment(Qt::AlignCenter); 1466 tw->setItem(0,1,CuentaEndogenafila); 1467 tw->setSpan(0,1,1,inicioExogena-1); 1468 QTableWidgetItem *CuentaEndogenaColumna = new QTableWidgetItem; 1443 /* Titulos para las Cuentas exogenas */ 1444 QTableWidgetItem *CuentaExogenafila = new QTableWidgetItem("Cuentas Exógenas"); 1445 CuentaExogenafila->setFlags(CuentaExogenafila->flags() ^ Qt::ItemIsEditable); 1446 CuentaExogenafila->setTextAlignment(Qt::AlignCenter); 1447 tw->setItem(0,inicioExogena,CuentaExogenafila); 1448 if(elementos>1) 1449 { 1450 tw->setSpan(0,inicioExogena,1,elementos); 1451 } 1452 QTableWidgetItem *CuentaExogenaColumna = new QTableWidgetItem; 1469 1453 if(elementos<12) 1470 1454 { 1471 CuentaE ndogenaColumna->setText("Cuentas \nEndógenas");1455 CuentaExogenaColumna->setText("Cuentas \nExógenas"); 1472 1456 } 1473 1457 else 1474 1458 { 1475 CuentaEndogenaColumna->setText("C\nu\ne\nn\nt\na\ns\n\nE\nn\nd\nó\ng\ne\nn\na\ns"); 1476 } 1477 CuentaEndogenaColumna->setFlags(CuentaEndogenaColumna->flags() ^ Qt::ItemIsEditable); 1478 tw->setItem(1,0,CuentaEndogenaColumna); 1479 if((inicioExogena-1)>1) 1480 { 1481 tw->setSpan(1,0,inicioExogena-1,1); 1482 } 1483 if(condicion)//Si tiene cuentas exogenas 1484 { 1485 /* Titulos para las Cuentas exogenas */ 1486 QTableWidgetItem *CuentaExogenafila = new QTableWidgetItem("Cuentas Exógenas"); 1487 CuentaExogenafila->setFlags(CuentaExogenafila->flags() ^ Qt::ItemIsEditable); 1488 CuentaExogenafila->setTextAlignment(Qt::AlignCenter); 1489 tw->setItem(0,inicioExogena,CuentaExogenafila); 1490 if(elementos>1) 1491 { 1492 tw->setSpan(0,inicioExogena,1,elementos); 1493 } 1494 QTableWidgetItem *CuentaExogenaColumna = new QTableWidgetItem; 1459 CuentaExogenaColumna->setText("C\nu\ne\nn\nt\na\ns\n\nE\nx\nó\ng\ne\nn\na\ns"); 1460 } 1461 CuentaExogenaColumna->setFlags(CuentaExogenaColumna->flags() ^ Qt::ItemIsEditable); 1462 tw->setItem(inicioExogena,0,CuentaExogenaColumna); 1463 if(elementos>1) 1464 { 1465 tw->setSpan(inicioExogena,0,elementos,1); 1466 } 1467 int count = tw->rowCount(); 1468 ItemsNoEditable(tw,count-1,count); 1469 tableItem(tw,inicioExogena+1,count-1,"Cuentas Exógenas"); 1470 1471 if(condicion)//Si tiene cuentas endogenas 1472 { 1473 /* Titulos para las Cuentas endogenas */ 1474 QTableWidgetItem *CuentaEndogenafila = new QTableWidgetItem("Cuentas Endógenas"); 1475 CuentaEndogenafila->setFlags(CuentaEndogenafila->flags() ^ Qt::ItemIsEditable); 1476 CuentaEndogenafila->setTextAlignment(Qt::AlignCenter); 1477 tw->setItem(0,1,CuentaEndogenafila); 1478 tw->setSpan(0,1,1,inicioExogena-1); 1479 QTableWidgetItem *CuentaEndogenaColumna = new QTableWidgetItem; 1495 1480 if(elementos<12) 1496 1481 { 1497 CuentaE xogenaColumna->setText("Cuentas \nExógenas");1482 CuentaEndogenaColumna->setText("Cuentas \nEndógenas"); 1498 1483 } 1499 1484 else 1500 1485 { 1501 CuentaExogenaColumna->setText("C\nu\ne\nn\nt\na\ns\n\nE\nx\nó\ng\ne\nn\na\ns"); 1502 } 1503 CuentaExogenaColumna->setFlags(CuentaExogenaColumna->flags() ^ Qt::ItemIsEditable); 1504 tw->setItem(inicioExogena,0,CuentaExogenaColumna); 1505 if(elementos>1) 1506 { 1507 tw->setSpan(inicioExogena,0,elementos,1); 1508 } 1509 int count = tw->rowCount(); 1510 ItemsNoEditable(tw,count-1,count); 1486 CuentaEndogenaColumna->setText("C\nu\ne\nn\nt\na\ns\n\nE\nn\nd\nó\ng\ne\nn\na\ns"); 1487 } 1488 CuentaEndogenaColumna->setFlags(CuentaEndogenaColumna->flags() ^ Qt::ItemIsEditable); 1489 tw->setItem(1,0,CuentaEndogenaColumna); 1490 if((inicioExogena-1)>1) 1491 { 1492 tw->setSpan(1,0,inicioExogena-1,1); 1493 } 1494 tableItem(tw,2,inicioExogena,"Cuentas Endógenas"); 1495 } 1496 else 1497 { 1498 ItemsNoEditable(tw,1,2); 1511 1499 } 1512 1500 } … … 1814 1802 QString filename = formExportMatriz->ExportLine->text(); 1815 1803 QFile archivo(filename); 1816 archivo.open(QFile::WriteOnly | QFile::Text); 1817 QTextStream out(&archivo); 1818 out << "hola " << "que hace" << "? \n"; 1819 out << "otra linea de prueba"; 1820 archivo.flush(); 1821 archivo.close(); 1822 formExportMatriz->ExportLine->setText(""); 1823 formExportMatriz->close(); 1804 int actual = tabWidget->currentIndex(); 1805 if(actual!=0) 1806 { 1807 QTableWidget *tw = tabWidget->widget(actual)->findChild<QTableWidget *>(); 1808 int fila = tw->rowCount(); 1809 int col = tw->columnCount(); 1810 archivo.open(QFile::WriteOnly | QFile::Text); 1811 QTextStream out(&archivo); 1812 for(int i=0;i<fila;i++) 1813 { 1814 for(int j=0;j<col;j++) 1815 { 1816 QString item = tw->item(i,j)->text(); 1817 item.remove("\n"); 1818 if(item.isEmpty()) 1819 { 1820 item = "-"; 1821 } 1822 out << item; 1823 if(j+1<col) 1824 { 1825 out << ";"; 1826 } 1827 } 1828 out<<"\n"; 1829 } 1830 archivo.flush(); 1831 archivo.close(); 1832 formExportMatriz->ExportLine->setText(""); 1833 formExportMatriz->close(); 1834 } 1835 else 1836 { 1837 QMessageBox::critical(this,"Alerta","No puede exportar la pestaña\n inicio"); 1838 } 1824 1839 } 1825 1840 } … … 1827 1842 void MainWindow::slotSearchExport() 1828 1843 { 1829 QString format = ". txt";1844 QString format = ".csv"; 1830 1845 1831 1846 QString filename = QFileDialog::getSaveFileName(this, 1832 "Elija el nombre", QDir::homePath(),"*.txt"); 1847 "Elija el nombre", QDir::homePath(),"*.csv"); 1848 1849 filename.remove(format); 1833 1850 1834 1851 filename +=format; 1835 1852 1836 formExportMatriz->Exportcb->addItem(filename);1837 1838 1853 formExportMatriz->ExportLine->setText(filename); 1839 qDebug()<< formExportMatriz->ExportLine->text();1840 1841 1854 } 1842 1855 … … 2496 2509 tw->setItem(count,2,totalAdelante); 2497 2510 } 2511 2512 void MainWindow::tableItem(QTableWidget *tw, int inicio, int fin, QString texto) 2513 { 2514 for(int i=inicio;i<fin;i++) 2515 { 2516 QTableWidgetItem *itemFila = new QTableWidgetItem(texto); 2517 itemFila->setFlags(itemFila->flags() ^ Qt::ItemIsEditable); 2518 QTableWidgetItem *itemColumna = new QTableWidgetItem(texto); 2519 itemColumna->setFlags(itemColumna->flags() ^ Qt::ItemIsEditable); 2520 tw->setItem(0,i,itemFila); 2521 tw->setItem(i,0,itemColumna); 2522 } 2523 }
Note: See TracChangeset
for help on using the changeset viewer.