source: mmcs/mainwindow.H @ cfdcc67

matrices
Last change on this file since cfdcc67 was cfdcc67, checked in by rboet <rboet@…>, 9 years ago

agregado colores a las celdas Endógenas/Exógenas?, Cuentas y Componentes, botón principal de editar y restaurar cambiados por iconos

  • Property mode set to 100644
File size: 6.2 KB
RevLine 
[44d1e60]1#ifndef MAINWINDOW_H
2#define MAINWINDOW_H
3
4#include <QtGui>
[8daa049]5
[44d1e60]6#include <formloadmatrix.H>
7#include <formviewmatrix.H>
[9dd61b1]8#include <formvariablesexogenas.h>
[8daa049]9#include <formexportmatrix.h>
10#include <formencadenamientos.h>
[fa3f7a3]11#include <ui_formcompararresultados.h>
12#include <formcompararresultados.h>
[8daa049]13
[44d1e60]14#include <sstream>
15#include <stackwidget.H>
[9dd61b1]16#include <stackvariablesexogenas.h>
[8daa049]17#include <stackencadenamientos.h>
18
19#include <QTabWidget>
20
[9dd61b1]21#include <QMap>
[8daa049]22#include <QVector>
23
[44d1e60]24
25class MainWindow : public QMainWindow
26{
27    Q_OBJECT
28
29    QMenu menuFile;
[9dd61b1]30    QMenu OpMatrices;
[44d1e60]31    QMenu menuTools;
32    QMenu menuViews;
33    QMenu menuHelp;
[9dd61b1]34    QMenu EndoExo;
35
[44d1e60]36    QAction actionLoadMatrix;
37    QAction actionExportMatrix;
38    QAction actionQuit;
[9dd61b1]39
40    QAction actionCH;
41    QAction actionCV;
42    QAction actionVariableExogena;
[fa3f7a3]43    QAction actionCTVEndEx;
[9dd61b1]44    QAction actionLa;
[fa3f7a3]45
[9dd61b1]46    QAction actionEncadenamiento;   
[fa3f7a3]47    QAction actionModeloClasico;
48    QAction actionCompararResultados;
[9dd61b1]49
50
[44d1e60]51    QTableWidget * tableWidget;
[9dd61b1]52    QTabWidget * tabWidget;
53    QMap<QString,QStringList> diccCuentasExogenas;
[8daa049]54    QMap<int,QVector<QString> > diccCuentasEndogenas;
55    QMap<int,QVector<QString> > espacioCuentasExogenas;
56    QMap<QString,QStringList> diccCuentasComponentes;
57    QMap<QString,QStringList> diccCuentasEncadenamientos;
[9dd61b1]58
59    stackVariablesExogenas *stackVE;
[8daa049]60    stackEncadenamientos *stackEncadenamiento;
[9dd61b1]61
[44d1e60]62
63    QString csvFilePath;
64    char csvSeparator;
65    int numAccounts;
66    int matrixSize;
67    double  matrix[100][100];
[bd5e45b]68
[8daa049]69    double MatrizEndogenaEndogena[200][200];
70
[bd5e45b]71    int opcionCuentaExogena;
72    int opcionVentanaExogena;
73    int opcionExportarMatriz;
[aa628c3]74    int opcionCTEndogena;
[8daa049]75    int opcionEncadenamientos;
76    int opcionCuentaEncadenamientos;
[fa3f7a3]77    int opcionMa;
78    int opcionFormCompararResultados;
79
80    QVector<double> subtotalEnd;
81    QVector<double> subtotalExog;
[8daa049]82
83    int cantidadEncadenamientos;
[fa3f7a3]84    int cantidadEscenarios;
85    int cantidadResultados;
[44d1e60]86
87    FormLoadMatrix * formLoadMatrix;
88    FormViewMatrix * formViewMatrix;
[9dd61b1]89    FormVariablesExogenas * formVariablesExogenas;
[bd5e45b]90    FormExportMatrix * formExportMatriz;
[8daa049]91    FormEncadenamientos * formEncadenamientos;
[fa3f7a3]92    FormCompararResultados *formCompararResultados;
[44d1e60]93
94    void initGUI();
95
96    void createCentralWidget();
97    void createMatrixCentralWidget();
98
99    void createMenuBar();
[9dd61b1]100    void matricesMenuBar();
[44d1e60]101    void populateTable(QTableWidget *);
[9dd61b1]102    void CalcularTotales(QTableWidget *, int inicio);
103    void loadMatrizExogena();
104    void clonarTabla(QTableWidget *,QTableWidget *, int cantidad);
105    void noEditColZero(QTableWidget *);
106    void setAccountTitle(QTableWidget *);
107    void insertremoveRowCol(QTableWidget *, int rowcol, bool opcion);
[8daa049]108    void crearDiccionario(QTableWidget *, bool endogena=true);
109    QStringList obtenerCuentasEndogenas(QTableWidget *,QStringList);
110    QStringList obtenerCuentasExogenas(QTableWidget *,QStringList );
111    void spanEndogenaCell(QTableWidget *, int inicio, int celda, bool endex=true);
112    void spanExogenaCell(QTableWidget *,int celda);
[e506dab]113    void tableItem(QTableWidget *, int inicio, int fin, QString texto);
[9dd61b1]114
115    QList<QString> llenarLista(QList<QString>, QTableWidget *, int valor, int opcion);
116    void insertRowExogena(QList<QString>, QTableWidget *, int opcion);
117    void setEndogenaExogenaCell(QTableWidget *, int inicioExogena, int elementos,bool condicion);
[bd5e45b]118    void CalcularAn(QTableWidget *, QTableWidget *, QTableWidget *, int count, bool endogena);
119    QString Separador(QTableWidgetItem *,bool quitar);
[8daa049]120    void ItemsNoEditable(QTableWidget *, int inicio, int fin, int col=0);
[aa628c3]121    void CellStyle(QTableWidgetItem *);
[cfdcc67]122    void CellStyleComponente(QTableWidgetItem *);
123    void CellStyleExEn(QTableWidgetItem *);
[aa628c3]124    void EndogenaAn();
[9dd61b1]125
[8daa049]126    void obtenerCuentaComponentes();
[fa3f7a3]127    void crearTablaVaciaEncadenamiento(int contador, QTableWidget *,int filas=4);
[8daa049]128    void crearMatrizEncadenamiento(QTableWidget *, QTableWidget *);
129    void crearMatrizEncadenamientoEndogena(QTableWidget *, QTableWidget *);
130    void calcularTotalesEncadenamientos(QTableWidget *);
131    void encademientosStyle(QTableWidgetItem *);
132
[fa3f7a3]133    void calcularSubtotal(QTableWidget *, int inicio, int fin, int exogena);
134    void llenarEscenario(QTableWidget *);
135    void calcularFinEscenario(QTableWidget *);
136    QVector<double> obtenerResultadoEscenario(QVector<double>);
137    QStringList obtenerNombreResultadoEscenario();
138    void crearTablaComparar(QTableWidget *, QTableWidget *);
139    void cuentacomponentesResultado(QTableWidget *, int count);
140    void validar();
141
[9dd61b1]142    void crearMatrizEndogena(QTableWidget *);
[8daa049]143    void restarIdentidadAn(QTableWidget *);
144    void titleEndogena(QTableWidget *);
[9dd61b1]145
146    bool ComprobarCuentas();
147    int ObtenerIndice(QString );
148
149    QStringList ObtenerNombreCuenta(int contador);
150    QList<int> ObtenerLimitesCuenta(int contador,int opccion);
151    QStringList ObtenerComponentes(QTableWidget *);
152    void CrearTablaVacia(int contador,QTableWidget *);
[44d1e60]153
154protected:
155    void closeEvent(QCloseEvent *);
156
157private slots:
158    void slotLoadMatrix();
159    void slotExportMatrix();
160    void slotFormLoadMatrixAccepted(const QString &, int, char);
161    void slotFormLoadMatrixClosed();
162
[9dd61b1]163    void AgregarCuenta();
164    void RestaurarCeldas();
165    void FinalizarCuentas();
166    void ModificarCuenta();
167    void slotCoeficienteHorizontal();
168    void slotCoeficienteVertical();
169
170    void slotVariableExogena();
171    void slotCloseExogena();
172    void slotAgregarExogena();
173    void slotFinalizarExogena();
174    void slotDeshacerExogena();
[fa3f7a3]175    void slotCTVEndogena();
176
177    void slotMa();
[9dd61b1]178
[8daa049]179    void slotEncadenamientos();
180    void slotCloseEncadenamiento();
181    void slotAgregarEncadenamiento();
182    void slotVerEncadenamiento();
183
[bd5e45b]184    void slotCloseExport();
185    void slotSaveExport();
186    void slotSearchExport();
187
[fa3f7a3]188    void slotModeloClasico();
189    void calcularEscenario();
190    void finalizarEscenario();
191
192    void slotCompararResultados();
193    void slotVerResultado();
194
[44d1e60]195public:
196    MainWindow();
197    std::vector<std::string> csv_read_row(std::string , char);
198    std::vector<std::string> csv_read_row(std::istream &, char);
199    QString numberFormat(double &);
[9dd61b1]200
[8daa049]201    int contarElementosMap(QMap<QString, QStringList> diccionario);
[9dd61b1]202    int retornarIndiceCuenta(QString nombre_cuenta);
[44d1e60]203};
204
205#endif // MAINWINDOW_H
Note: See TracBrowser for help on using the repository browser.