dialogChanges Class Reference

#include <dialogchanges.h>

Inheritance diagram for dialogChanges:

Ficha PromedioView cobropagoview FichaBc FichaBf PaisView TipoArticuloList AmortizacionView aplinteligentesview Asiento1 BalanceTreeView BalanceView BbloqFecha canalview CAnualesView ccosteview CuentaView DiarioView extractoview1 fpagoview listcuentasview1 propiedadesempresa ProyectoView RegistroIva tipoivaview AlbaranClienteView AlbaranProveedorView AlmacenView ArticuloView BancoView ClienteView CobroView ComercialClienteView Contrato Cuadrante1View CuadranteView EFactura EFacturaRecepcion FacturaProveedorView FacturaView FamiliasView FPagoView IncidenciaComercial Inventario ListAlmacenView ListConfiguracionView ListSerieFacturaView ListTasaIVAView ListTipoIVAView ListTiposTrabajoView ListZonaComercialView MovimientosView PagoView PedidoClienteView PedidoProveedorView PresupuestoView ProveedorView RutaComercial RutaComercialIncView TarifaListView TarifaView TrabajadorView VehiculoView ZView

Public Member Functions

 dialogChanges (QObject *ob)
 ~dialogChanges ()
void dialogChanges_cargaInicial ()
bool dialogChanges_hayCambios ()
void dialogChanges_setQObjectExcluido (QObject *objetoexcluido)
bool objExcluido (QObject *item)

Private Member Functions

QString calculateValues ()
QString retrieveValues (QString qsWidget)

Private Attributes

int m_maxQLine
int m_maxQText
int m_maxQTable
int m_maxQComboBox
QString m_valorinicial
QObjectm_obje
QObjectm_listaQLine [999]
QObjectm_listaQText [999]
QObjectm_listaQTable [999]
QObjectm_listaQComboBox [999]
QList< QObject * > m_listaExcluidos

Detailed Description

Esta clase se encarga de proporcionar algo de infraestructura al control de cambios. La idea original es de Alvaro de Miguel en la que lo que hace la funcion es coger todos los campos de un determinado formulario y formar una cadena. Luego para saber si hay cambios en el formulario vuelve a comparar.

Definition at line 34 of file dialogchanges.h.


Constructor & Destructor Documentation

dialogChanges::dialogChanges ( QObject ob  ) 

Parameters:
ob 

Definition at line 34 of file dialogchanges.cpp.

References _depura(), and m_obje.

00034                                         {
00035     _depura("dialogChanges::dialogChanges", 0);
00036     m_obje = ob;
00037     _depura("END dialogChanges::dialogChanges", 0);
00038 }

dialogChanges::~dialogChanges (  ) 

Definition at line 44 of file dialogchanges.cpp.

References _depura().

00044                               {
00045     _depura("dialogChanges::~dialogChanges", 0);
00046     _depura("END dialogChanges::~dialogChanges", 0);
00047 }


Member Function Documentation

void dialogChanges::dialogChanges_cargaInicial (  ) 

Definition at line 73 of file dialogchanges.cpp.

References _depura(), calculateValues(), m_listaExcluidos, m_listaQComboBox, m_listaQLine, m_listaQTable, m_listaQText, m_maxQComboBox, m_maxQLine, m_maxQTable, m_maxQText, m_obje, m_valorinicial, and objExcluido().

Referenced by AlbaranClienteView::AlbaranClienteView(), AlmacenView::AlmacenView(), ArticuloView::ArticuloView(), FamiliasView::borrar(), RegistroIva::borrar(), canalview::canalview(), Ficha::cargar(), VehiculoView::cargar(), TarifaView::cargar(), ContratoView::cargar(), RutaComercialView::cargar(), IncidenciaComercialView::cargar(), IncidenciaComercial::cargar(), AmortizacionView::cargar(), RegistroIvaView::cargar(), RegistroIva::cargar(), ccosteview::ccosteview(), ClienteView::ClienteView(), CobroView::CobroView(), Cuadrante1View::Cuadrante1View(), CuentaView::CuentaView(), Ficha::Ficha(), fpagoview::fpagoview(), PaisView::guardar(), FamiliasView::guardar(), BancoView::guardar(), VehiculoView::guardar(), TarifaView::guardar(), ContratoView::guardar(), FPagoView::guardar(), fpagoview::guardar(), ccosteview::guardar(), RegistroIvaView::guardar(), IncidenciaComercialView::IncidenciaComercialView(), PresupuestoView::inicializar(), PedidoClienteView::inicializar(), FacturaView::inicializar(), FacturaProveedorView::inicializar(), AlbaranProveedorView::inicializar(), AlbaranClienteView::inicializar(), ContratoView::inicializar(), PaisView::mostrarplantilla(), TipoArticuloList::mostrarplantilla(), FamiliasView::mostrarplantilla(), tipoivaview::mostrarplantilla(), fpagoview::mostrarplantilla(), ccosteview::mostrarplantilla(), canalview::mostrarplantilla(), Ficha::on_mui_borrar_clicked(), FamiliasView::on_mui_borrar_clicked(), TarifaView::on_mui_borrar_clicked(), tipoivaview::on_mui_guardar2_clicked(), TrabajadorView::on_mui_guardar_clicked(), propiedadesempresa::on_mui_guardar_clicked(), canalview::on_mui_guardar_clicked(), TrabajadorView::on_mui_lista_currentItemChanged(), BancoView::on_mui_lista_currentItemChanged(), FPagoView::on_mui_lista_currentItemChanged(), propiedadesempresa::on_mui_modificarplan_clicked(), PagoView::PagoView(), PaisView::PaisView(), PedidoProveedorView::PedidoProveedorView(), TrabajadorView::pintar(), TipoArticuloList::pintar(), FamiliasView::pintar(), BancoView::pintar(), FPagoView::pintar(), ProveedorView::ProveedorView(), ProyectoView::ProyectoView(), RutaComercialView::RutaComercialView(), TarifaView::TarifaView(), tipoivaview::tipoivaview(), and ZView::ZView().

00073                                                {
00074     _depura("dialogChanges::dialogChanges_cargaInicial", 0);
00075     try {
00076     m_maxQText = 0;
00077     m_maxQLine = 0;
00078     m_maxQTable = 0;
00079     m_maxQComboBox = 0;
00080 
00081     QListIterator<QObject *> it_excluidos (m_listaExcluidos);
00082 
00083     QList<QComboBox *> l4 = m_obje->findChildren<QComboBox *>();
00084     QListIterator<QComboBox *> it4 (l4);
00085     while (it4.hasNext()) {
00086         QComboBox *item = it4.next();
00087         if (item->objectName().startsWith("mui_") && !objExcluido(item)) {
00088             m_listaQComboBox[m_maxQComboBox++] = item;
00089         } // end if
00090     } // end while
00091 
00092 
00093     QList<QTextEdit *> l1 = m_obje->findChildren<QTextEdit *>();
00094     QListIterator<QTextEdit *> it1 (l1);
00095     while (it1.hasNext()) {
00096         QTextEdit *item = it1.next();
00097         if (item->objectName().startsWith("mui_") && !objExcluido(item)) {
00098             m_listaQText[m_maxQText++] = item;
00099         } // end if
00100     } // end while
00101 
00102     QList<QLineEdit *> l2 = m_obje->findChildren<QLineEdit *>();
00103     QListIterator<QLineEdit *> it2 (l2);
00104     while (it2.hasNext()) {
00105         QLineEdit *item = it2.next();
00106         if (item->objectName().startsWith("mui_") && !objExcluido(item)) {
00107             m_listaQLine[m_maxQLine++] = item;
00108         } // end if
00109     } // end while
00110 
00111     QList<QTableWidget *> l3 = m_obje->findChildren<QTableWidget *>();
00112     QListIterator<QTableWidget *> it3(l3);
00113     while (it3.hasNext()) {
00114         QTableWidget *item = it3.next();
00115         if (item->objectName().startsWith("mui_") && !objExcluido(item)) {
00116             m_listaQTable[m_maxQTable++] = item;
00117         } // end if
00118     } // end while
00119 
00120     m_valorinicial = calculateValues();
00121     _depura("END dialogChanges::dialogChanges_cargaInicial", 0, m_valorinicial.toAscii());
00122     } catch (...) {
00123         _depura("ERROR dialogChanges::dialogChanges_cargaInicial", 0, " error en el calculo");
00124         return;
00125     } // end try
00126 }

bool dialogChanges::dialogChanges_hayCambios (  ) 

Returns:

Definition at line 133 of file dialogchanges.cpp.

References _depura(), calculateValues(), and m_valorinicial.

Referenced by EFQToolButton::click(), tipoivaview::close(), propiedadesempresa::close(), Ficha::closeEvent(), TarifaView::closeEvent(), IncidenciaComercialView::closeEvent(), canalview::closeEvent(), tipoivaview::mostrarplantilla(), fpagoview::mostrarplantilla(), PaisView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), canalview::on_mui_idcanal_valueChanged(), PaisView::on_mui_list_itemClicked(), ccosteview::on_mui_list_itemClicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::trataModificado(), TipoArticuloList::trataModificado(), FamiliasView::trataModificado(), BancoView::trataModificado(), and FPagoView::trataModificado().

00133                                              {
00134     _depura("dialogChanges::dialogChanges_hayCambios", 0);
00135     QString valorfinal = calculateValues();
00136     _depura("END dialogChanges::dialogChanges_hayCambios", 0, m_valorinicial + "==== " + valorfinal);
00137     return (m_valorinicial != valorfinal);
00138 }

void dialogChanges::dialogChanges_setQObjectExcluido ( QObject objetoexcluido  ) 

Parameters:
objetoexcluido 

Definition at line 160 of file dialogchanges.cpp.

References _depura(), and m_listaExcluidos.

Referenced by ArticuloView::ArticuloView(), ArticuloView_ArticuloView(), canalview::canalview(), ccosteview::ccosteview(), fpagoview::fpagoview(), tipoivaview::tipoivaview(), TrabajadorView_TrabajadorView(), and TrabajadorView_TrabajadorView_Post().

00160                                                                             {
00161     _depura("dialogChanges::dialogChanges_setQObjectExcluido", 0);
00162     m_listaExcluidos.append(objetoexcluido);
00163     _depura("END dialogChanges::dialogChanges_setQObjectExcluido", 0);
00164 }

bool dialogChanges::objExcluido ( QObject item  ) 

Parameters:
item 
Returns:

Itera por los QObjects que estan excluidos de comprobacion de cambios.

Comparamos

Definition at line 55 of file dialogchanges.cpp.

References _depura(), FALSE, m_listaExcluidos, and TRUE.

Referenced by dialogChanges_cargaInicial().

00055                                              {
00056     _depura("dialogChanges::objExcluido", 0);
00057     QListIterator<QObject *> it_excluidos (m_listaExcluidos);
00059     it_excluidos.toFront();
00060     while (it_excluidos.hasNext()) {
00062         if (it_excluidos.next() == (QObject *) item)
00063             return TRUE;
00064     } // end while
00065     _depura("END dialogChanges::objExcluido", 0);
00066     return FALSE;
00067 }

QString dialogChanges::calculateValues (  )  [private]

Returns:

Reimplemented in Contrato.

Definition at line 145 of file dialogchanges.cpp.

References _depura(), and retrieveValues().

Referenced by dialogChanges_cargaInicial(), and dialogChanges_hayCambios().

00145                                        {
00146     _depura("dialogChanges::calculateValues", 0);
00147     QString values = retrieveValues("QTableWidget");
00148     values += retrieveValues("QLineEdit");
00149     values += retrieveValues("QTextEdit");
00150     values += retrieveValues("QComboBox");
00151     _depura("END dialogChanges::calculateValues", 0);
00152     return values;
00153 }

QString dialogChanges::retrieveValues ( QString  qsWidget  )  [private]

Parameters:
qsWidget 
Returns:

Definition at line 172 of file dialogchanges.cpp.

References _depura(), m_listaExcluidos, m_listaQComboBox, m_listaQLine, m_listaQTable, m_listaQText, m_maxQComboBox, m_maxQLine, m_maxQTable, and m_maxQText.

Referenced by calculateValues().

00172                                                       {
00173     _depura("dialogChanges::retrieveValues", 0, qsWidget);
00174     try {
00175     QString values = "";
00176     QListIterator<QObject *> it_excluidos (m_listaExcluidos);
00177 
00178 
00179     if (qsWidget == "QComboBox") {
00180         for (int i = 0; i < m_maxQComboBox; i++) {
00181             if (m_listaQComboBox[i] != NULL) {
00182                 if (((QComboBox*)m_listaQComboBox[i])->objectName().startsWith("mui_")) {
00183                     values += ((QComboBox*)m_listaQComboBox[i])->objectName();
00184                     values += ((QComboBox*)m_listaQComboBox[i])->currentText();
00185                 } // end if
00186             } // end if
00187         } // end for
00188     } // end if
00189 
00190 
00191     if (qsWidget == "QLineEdit") {
00192         for (int i = 0; i < m_maxQLine; i++) {
00193             if (m_listaQLine[i] != NULL) {
00194                 if (((QLineEdit*)m_listaQLine[i])->objectName().startsWith("mui_")) {
00195                     values += ((QLineEdit*)m_listaQLine[i])->objectName();
00196                     values += ((QLineEdit*)m_listaQLine[i])->text();
00197 
00198                 } // end if
00199             } // end if
00200         } // end for
00201     } // end if
00202 
00203     if (qsWidget == "QTextEdit") {
00204         for (int i = 0; i < m_maxQText; i++) {
00205             if (m_listaQText[i] != NULL) {
00206                 if (((QTextEdit*)m_listaQText[i])->objectName().startsWith("mui_"))
00207                     values += ((QTextEdit*)m_listaQText[i])->objectName();
00208                     values += ((QTextEdit*)m_listaQText[i])->toPlainText();
00209             } // end if
00210         } // end for
00211     } // end if
00212 
00213 
00214     if (qsWidget == "QTableWidget") {
00215         for (int i = 0; i < m_maxQTable; i++) {
00216             if (m_listaQTable[i] != NULL) {
00217                 for (int k = 0; k < ((QTableWidget*)m_listaQTable[i])->rowCount(); k++) {
00218                     for (int l = 0; l < ((QTableWidget*)m_listaQTable[i])->columnCount(); l++) {
00219                         values += (((QTableWidget*)m_listaQTable[i]))->objectName();
00220                         values += (((QTableWidget*)m_listaQTable[i]))->item(k, l)->text();
00221                     } // end for
00222                 } // end for
00223             } // end if
00224         } // end for
00225     } // end if
00226 
00227     _depura("END dialogChanges::retrieveValues", 0, values);
00228     return values;
00229    } catch(...) {
00230         _depura("ERROR dialogChanges::retrieveValue", 2, "error en el calculo");
00231         return "";
00232    } // end try
00233 }


Field Documentation

int dialogChanges::m_maxQLine [private]

Definition at line 36 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

int dialogChanges::m_maxQText [private]

Definition at line 37 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

int dialogChanges::m_maxQTable [private]

Definition at line 38 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

int dialogChanges::m_maxQComboBox [private]

Definition at line 39 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

QString dialogChanges::m_valorinicial [private]

Definition at line 40 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and dialogChanges_hayCambios().

QObject* dialogChanges::m_obje [private]

Definition at line 41 of file dialogchanges.h.

Referenced by dialogChanges(), and dialogChanges_cargaInicial().

QObject* dialogChanges::m_listaQLine[999] [private]

Definition at line 42 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

QObject* dialogChanges::m_listaQText[999] [private]

Definition at line 43 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

QObject* dialogChanges::m_listaQTable[999] [private]

Definition at line 44 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

QObject* dialogChanges::m_listaQComboBox[999] [private]

Definition at line 45 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), and retrieveValues().

QList<QObject*> dialogChanges::m_listaExcluidos [private]

Definition at line 46 of file dialogchanges.h.

Referenced by dialogChanges_cargaInicial(), dialogChanges_setQObjectExcluido(), objExcluido(), and retrieveValues().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:50 2007 for BulmaGes by  doxygen 1.5.1