source: observatorio/simulacion/SimEscenariosEconomicos-Qtgui/configurationPanel.C

simulacion
Last change on this file was 6c79fb4, checked in by Alejandro <amujica@…>, 10 years ago

Muestra el indice de dependencia de productos importados en el modulo de precios

  • Property mode set to 100644
File size: 4.0 KB
Line 
1/*
2  Copyright (C) 2012
3  Alejandro Mujica (amujica@cenditel.gob.ve)
4  Erwin Paredes (eparedes@cenditel.gob.ve)
5  José Ruiz (jruiz@cenditel.gob.ve)
6  Rodolfo Rangel (rrangel@cenditel.gob.ve)
7  Julie Vera (jvera@cenditel.gob.ve)
8
9  CENDITEL Fundación Centro Nacional de Desarrollo e Investigación en
10  Tecnologías Libres
11
12  Este programa es software libre; Usted puede usarlo bajo los términos de la
13  licencia de software GPL versión 2.0 de la Free Software Foundation.
14
15  Este programa se distribuye con la esperanza de que sea útil, pero SIN
16  NINGUNA GARANTÍA; tampoco las implícitas garantías de MERCANTILIDAD o
17  ADECUACIÓN A UN PROPÓSITO PARTICULAR.
18  Consulte la licencia GPL para más detalles. Usted debe recibir una copia
19  de la GPL junto con este programa; si no, escriba a la Free Software
20  Foundation Inc. 51 Franklin Street,5 Piso, Boston, MA 02110-1301, USA.
21*/
22
23/*
24  Este archivo contiene la implementación de la clase ConfigurationPanel.
25
26  Autor: Alejandro J. Mujica
27  Fecha:
28*/
29
30# include <QMessageBox>
31# include <QFileDialog>
32
33# include <configurationPanel.H>
34
35# include <configuration.H>
36
37# include <dbProperties.H>
38
39ConfigurationPanel::ConfigurationPanel(QWidget * parent)
40    : QWidget(parent, Qt::Tool) {
41
42    ui.setupUi(this);
43
44    getValues();
45
46    ui.tabWidget->setCurrentIndex(0);
47
48    connect(ui.btnAccept, SIGNAL(clicked()),
49            this, SLOT(slotBtnAcceptClicked()));
50
51    connect(ui.btnCancel, SIGNAL(clicked()),
52            this, SLOT(slotBtnCancelClicked()));
53
54    connect(ui.btnPredeterminate, SIGNAL(clicked()),
55            this, SLOT(slotBtnDefaultClicked()));
56
57    connect(ui.btnRestore, SIGNAL(clicked()),
58            this, SLOT(slotBtnRestoreClicked()));
59}
60
61void ConfigurationPanel::getValues() {
62
63    Configuration & conf = Configuration::getInstance();
64
65    ui.edtHost->setText(conf.getHost().c_str());
66    ui.edtPort->setText(conf.getPort().c_str());
67    ui.edtDb->setText(conf.getDataBase().c_str());
68    ui.edtUser->setText(conf.getUser().c_str());
69    ui.edtPassword->setText(conf.getPassword().c_str());
70}
71
72void ConfigurationPanel::setValues() {
73
74    Configuration & conf = Configuration::getInstance();
75
76    conf.setHost(ui.edtHost->text().toStdString());
77    conf.setPort(ui.edtPort->text().toStdString());
78    conf.setDataBase(ui.edtDb->text().toStdString());
79    conf.setUser(ui.edtUser->text().toStdString());
80    conf.setPassword(ui.edtPassword->text().toStdString());
81
82    Configuration::getInstance().createDbFile();
83
84    DBProperties::getInstance().readFile(
85                Configuration::getInstance().getDbFileName());
86
87    Configuration::getInstance().removeDbFile();
88}
89
90bool ConfigurationPanel::validate() {
91
92    if (ui.edtHost->text().isEmpty()) {
93        ui.tabWidget->setCurrentIndex(0);
94        ui.edtHost->setFocus();
95        return false;
96    }
97
98    if (ui.edtPort->text().isEmpty()) {
99        ui.tabWidget->setCurrentIndex(0);
100        ui.edtPort->setFocus();
101        return false;
102    }
103
104    if (ui.edtDb->text().isEmpty()) {
105        ui.tabWidget->setCurrentIndex(0);
106        ui.edtDb->setFocus();
107        return false;
108    }
109
110    if (ui.edtUser->text().isEmpty()) {
111        ui.tabWidget->setCurrentIndex(0);
112        ui.edtUser->setFocus();
113        return false;
114    }
115
116    return true;
117}
118
119void ConfigurationPanel::slotBtnAcceptClicked() {
120
121    if (not validate())  {
122        QMessageBox::critical(this, "Error", "Hay campos vacíos");
123        return;
124    }
125
126    setValues();
127
128    close();
129}
130
131void ConfigurationPanel::slotBtnCancelClicked() {
132    close();
133}
134
135void ConfigurationPanel::slotBtnDefaultClicked() {
136
137    if (not validate()) {
138        QMessageBox::critical(this, "Error", "Hay campos vacíos");
139        return;
140    }
141
142    setValues();
143
144    Configuration::getInstance().setValuesDefault();
145
146    QMessageBox::information(this, "Mensaje",
147                             "Se asignaron nuevos valores predeterminados");
148}
149
150void ConfigurationPanel::slotBtnRestoreClicked() {
151    Configuration::getInstance().restoreDefaultValues();
152    getValues();
153}
154
155void ConfigurationPanel::closeEvent(QCloseEvent *) {
156    emit signalClosing();
157}
Note: See TracBrowser for help on using the repository browser.