TrabajadorView Class Reference

Muestra y administra la ventana con la información de un trabajador. More...

#include <trabajadorview.h>

Inheritance diagram for TrabajadorView:

FichaBf Ui_TrabajadorBase Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Member Functions

 TrabajadorView (Company *emp, QWidget *parent=0)
 Constructor de la clase inicializa la clase y llama a la clase de pintar para que pinte.
 ~TrabajadorView ()
bool trataModificado ()
QString idtrabajador ()
virtual void on_mui_guardar_clicked ()
virtual void on_mui_borrar_clicked ()

Private Slots

virtual void on_mui_lista_currentItemChanged (QListWidgetItem *cur, QListWidgetItem *prev)
virtual void on_mui_nuevo_clicked ()
virtual void on_mui_imagen_clicked ()

Private Member Functions

void pintar ()
 Carga el query de la base de datos y carga el qlistview.
virtual void imprimir ()

Private Attributes

cursor2m_cursortrabajadores
QString mdb_idtrabajador
 Indica cual es el objeto que se esta mostrando.
QString m_archivoimagen
QListWidgetItemm_item
 Indica en la lista de trabajadores cual es el item seleccionado.

Detailed Description

Muestra y administra la ventana con la información de un trabajador.

Definition at line 33 of file trabajadorview.h.


Constructor & Destructor Documentation

TrabajadorView::TrabajadorView ( Company emp,
QWidget parent = 0 
)

Constructor de la clase inicializa la clase y llama a la clase de pintar para que pinte.

Parameters:
emp 
parent 
Returns:

Disparamos los plugins.

Definition at line 40 of file trabajadorview.cpp.

References _depura(), g_plugins, Plugins::lanza(), m_archivoimagen, m_cursortrabajadores, m_item, Ficha::meteWindow(), Ui_TrabajadorBase::mui_tab, pintar(), Ficha::setDBTableName(), Ficha::setModoEdicion(), Ficha::setTitleName(), Ui_TrabajadorBase::setupUi(), and TRUE.

00041         : FichaBf(emp, parent) {
00042     _depura("TrabajadorView::TrabajadorView", 0);
00043 
00044     setTitleName(tr("Trabajador"));
00045     setDBTableName("trabajador");
00046     setAttribute(Qt::WA_DeleteOnClose);
00047     setupUi(this);
00048     mui_tab->setDisabled(TRUE);
00050     int res = g_plugins->lanza("TrabajadorView_TrabajadorView", this);
00051     if (res != 0) {
00052         return;
00053     } // end if
00054     m_archivoimagen = "";
00055     setModoEdicion();
00056     m_cursortrabajadores = NULL;
00057     m_item = NULL;
00058     res = g_plugins->lanza("TrabajadorView_TrabajadorView_Post", this);
00059     if (res != 0) {
00060         return;
00061     } // end if
00062     pintar();
00063     meteWindow(windowTitle(), this);
00064     _depura("END TrabajadorView::TrabajadorView", 0);
00065 }

TrabajadorView::~TrabajadorView (  ) 

Definition at line 102 of file trabajadorview.cpp.

References _depura(), and m_cursortrabajadores.

00102                                 {
00103     _depura("TrabajadorView::~TrabajadorView", 0);
00104     if (m_cursortrabajadores != NULL) {
00105         delete m_cursortrabajadores;
00106     } // end if
00107     _depura("END TrabajadorView::~TrabajadorView", 0);
00108 }


Member Function Documentation

void TrabajadorView::pintar (  )  [private, virtual]

Carga el query de la base de datos y carga el qlistview.

Se encarga de hacer la carga del query inicial y de mostrar la lista bien y presentar el elemento que se especifique.

Comprobamos cual es la cadena inicial.

Reimplemented from Ficha.

Definition at line 79 of file trabajadorview.cpp.

References _depura(), postgresiface2::cargacursor(), dialogChanges::dialogChanges_cargaInicial(), FichaBf::empresaBase(), cursor2::eof(), m_cursortrabajadores, Ui_TrabajadorBase::mui_lista, cursor2::siguienteregistro(), and cursor2::valor().

Referenced by on_mui_borrar_clicked(), on_mui_nuevo_clicked(), and TrabajadorView().

00079                             {
00080     _depura("TrabajadorView::pintar", 0);
00081 
00082     mui_lista->clear();
00083 
00084     if (m_cursortrabajadores != NULL) {
00085         delete m_cursortrabajadores;
00086     } // end if
00087     m_cursortrabajadores = empresaBase()->cargacursor("SELECT * FROM trabajador ORDER BY apellidostrabajador");
00088     while (!m_cursortrabajadores->eof()) {
00089         new QListWidgetItem(m_cursortrabajadores->valor("apellidostrabajador") + " " + m_cursortrabajadores->valor("nomtrabajador"), mui_lista);
00090         m_cursortrabajadores->siguienteregistro();
00091     } // end while
00092 
00094     dialogChanges_cargaInicial();
00095     _depura("END TrabajadorView::pintar", 0);
00096 }

void TrabajadorView::imprimir (  )  [private, virtual]

Returns:

Disparamos los plugins

Reimplemented from FichaBf.

Definition at line 71 of file trabajadorview.cpp.

References _depura().

00071                               {
00072     _depura("TrabajadorView::imprimir", 0);
00073     _depura("END TrabajadorView::imprimir", 0);
00074 }

bool TrabajadorView::trataModificado (  ) 

Returns:

Si se ha modificado el contenido advertimos y guardamos.

Definition at line 206 of file trabajadorview.cpp.

References _depura(), dialogChanges::dialogChanges_hayCambios(), FALSE, on_mui_guardar_clicked(), and TRUE.

Referenced by on_mui_borrar_clicked(), on_mui_lista_currentItemChanged(), and on_mui_nuevo_clicked().

00206                                      {
00207     _depura( "TrabajadorView::trataModificado", 0);
00209     if (dialogChanges_hayCambios()) {
00210         if (QMessageBox::warning(this,
00211                                  tr("Guardar datos del trabajador"),
00212                                  tr("Desea guardar los cambios?"),
00213                                  tr("&Si"), tr("&No"), 0, 0, 1 ) == 0)
00214             on_mui_guardar_clicked();
00215         return (TRUE);
00216     } // end if
00217     _depura("END TrabajadorView::trataModificado", 0);
00218     return (FALSE);
00219 }

QString TrabajadorView::idtrabajador (  ) 

Returns:

Definition at line 291 of file trabajadorview.cpp.

References _depura(), and mdb_idtrabajador.

Referenced by TrabajadorView_on_mui_guardar_clicked(), and TrabajadorView_on_mui_lista_currentItemChanged_Post().

00291                                      {
00292     _depura("TrabajadorView::idtrabajador", 0);
00293     return mdb_idtrabajador;
00294     _depura("END TrabajadorView::idtrabajador", 0);
00295 }

void TrabajadorView::on_mui_guardar_clicked (  )  [virtual]

Returns:

Disparamos los plugins.

Comprobamos cual es la cadena inicial.

Reimplemented from Ficha.

Definition at line 153 of file trabajadorview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), CONF_DIR_IMG_PERSONAL, confpr, dialogChanges::dialogChanges_cargaInicial(), postgresiface2::ejecuta(), FichaBf::empresaBase(), g_plugins, Plugins::lanza(), Ui_TrabajadorBase::m_activotrabajador, Ui_TrabajadorBase::m_apellidostrabajador, m_archivoimagen, m_cursortrabajadores, Ui_TrabajadorBase::m_dirtrabajador, Ui_TrabajadorBase::m_emailtrabajador, m_item, Ui_TrabajadorBase::m_moviltrabajador, Ui_TrabajadorBase::m_nomtrabajador, Ui_TrabajadorBase::m_nsstrabajador, Ui_TrabajadorBase::m_teltrabajador, mdb_idtrabajador, mensajeInfo(), postgresiface2::rollback(), postgresiface2::sanearCadena(), and configuracion::valor().

Referenced by trataModificado().

00153                                             {
00154     _depura("TrabajadorView::on_mui_guardar_clicked", 0);
00155     try {
00157         int res = g_plugins->lanza("TrabajadorView_on_mui_guardar_clicked", this);
00158         if (res != 0) {
00159             return;
00160         } // end if
00161         QString m_textactivotrabajador = "FALSE";
00162         if (m_activotrabajador->isChecked()) {
00163             m_textactivotrabajador = "TRUE";
00164         } // end if
00165         QString query = "UPDATE trabajador SET ";
00166         query += "  nomtrabajador='" + empresaBase()->sanearCadena(m_nomtrabajador->text()) + "'";
00167         query += ", apellidostrabajador= '" + empresaBase()->sanearCadena(m_apellidostrabajador->text()) + "'";
00168         query += ", nsstrabajador = '" + empresaBase()->sanearCadena(m_nsstrabajador->text()) + "'";
00169         query += ", dirtrabajador = '" + empresaBase()->sanearCadena(m_dirtrabajador->text()) + "'";
00170         query += ", teltrabajador = '" + empresaBase()->sanearCadena(m_teltrabajador->text()) + "'";
00171         query += ", moviltrabajador = '" + empresaBase()->sanearCadena(m_moviltrabajador->text()) + "'";
00172         query += ", emailtrabajador = '" + empresaBase()->sanearCadena(m_emailtrabajador->text()) + "'";
00173         query += ", activotrabajador = " + empresaBase()->sanearCadena(m_textactivotrabajador);
00174         query += " WHERE idtrabajador=" + empresaBase()->sanearCadena(mdb_idtrabajador);
00175 
00176         empresaBase()->begin();
00177         empresaBase()->ejecuta(query);
00178         empresaBase()->commit();
00179         if (m_cursortrabajadores != NULL) {
00180             delete m_cursortrabajadores;
00181         } // end if
00182 
00183         m_cursortrabajadores = empresaBase()->cargacursor("SELECT * FROM trabajador ORDER BY apellidostrabajador");
00184 
00185         if (m_item) {
00186             m_item->setText(m_apellidostrabajador->text() + m_nomtrabajador->text());
00187         } // end if
00188         if (m_archivoimagen != "") {
00189             QString cadena = "cp " + m_archivoimagen + " " + confpr->valor(CONF_DIR_IMG_PERSONAL) + mdb_idtrabajador + ".jpg";
00190             system( cadena.toAscii().constData());
00191         } // end if
00193         dialogChanges_cargaInicial();
00194     } catch (...) {
00195         mensajeInfo("Error al guardar el trabajador");
00196         empresaBase()->rollback();
00197     } // end try
00198     _depura("END TrabajadorView::on_mui_guardar_clicked", 0);
00199 }

void TrabajadorView::on_mui_borrar_clicked (  )  [virtual]

Returns:

Reimplemented from Ficha.

Definition at line 253 of file trabajadorview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBf::empresaBase(), mdb_idtrabajador, mensajeInfo(), Ui_TrabajadorBase::mui_tab, pintar(), postgresiface2::rollback(), trataModificado(), and TRUE.

00253                                            {
00254     _depura("TrabajadorView::on_mui_borrar_clicked", 0);
00255     try {
00256         mui_tab->setDisabled(TRUE);
00257         trataModificado();
00258         empresaBase()->begin();
00259         QString query = "DELETE FROM trabajador WHERE idtrabajador = " + mdb_idtrabajador;
00260         empresaBase()->ejecuta(query);
00261         empresaBase()->commit();
00262         mdb_idtrabajador="";
00263         pintar();
00264         _depura("END TrabajadorView::on_mui_borrar_clicked", 0);
00265     } catch (...) {
00266         mensajeInfo(tr("Error al borrar el Trabajador"));
00267         empresaBase()->rollback();
00268     }// end try
00269 }

void TrabajadorView::on_mui_lista_currentItemChanged ( QListWidgetItem cur,
QListWidgetItem prev 
) [private, virtual, slot]

Parameters:
cur 
Returns:

Comprobamos cual es la cadena inicial. Disparamos los plugins.

Definition at line 116 of file trabajadorview.cpp.

References _depura(), CONF_DIR_IMG_PERSONAL, confpr, dialogChanges::dialogChanges_cargaInicial(), FALSE, g_plugins, Plugins::lanza(), Ui_TrabajadorBase::m_activotrabajador, Ui_TrabajadorBase::m_apellidostrabajador, m_cursortrabajadores, Ui_TrabajadorBase::m_dirtrabajador, Ui_TrabajadorBase::m_emailtrabajador, Ui_TrabajadorBase::m_imagen, m_item, Ui_TrabajadorBase::m_moviltrabajador, Ui_TrabajadorBase::m_nomtrabajador, Ui_TrabajadorBase::m_nsstrabajador, Ui_TrabajadorBase::m_teltrabajador, mdb_idtrabajador, Ui_TrabajadorBase::mui_lista, Ui_TrabajadorBase::mui_tab, trataModificado(), TRUE, configuracion::valor(), and cursor2::valor().

00116                                                                                             {
00117     _depura( "on_mui_lista_currentItemChanged", 0);
00118     if (!cur) return;
00119     mui_tab->setEnabled(TRUE);
00120 
00121     int row = mui_lista->row(cur);
00122     trataModificado();
00123     m_nomtrabajador->setText(m_cursortrabajadores->valor("nomtrabajador", row));
00124     mdb_idtrabajador = m_cursortrabajadores->valor("idtrabajador", row);
00125     m_apellidostrabajador->setText(m_cursortrabajadores->valor("apellidostrabajador", row));
00126     m_nsstrabajador->setText(m_cursortrabajadores->valor("nsstrabajador", row));
00127     m_dirtrabajador->setText(m_cursortrabajadores->valor("dirtrabajador", row));
00128     m_teltrabajador->setText(m_cursortrabajadores->valor("teltrabajador", row));
00129     m_moviltrabajador->setText(m_cursortrabajadores->valor("moviltrabajador", row));
00130     m_emailtrabajador->setText(m_cursortrabajadores->valor("emailtrabajador", row));
00131     if (m_cursortrabajadores->valor("activotrabajador", row) == "t") {
00132         m_activotrabajador->setChecked(TRUE);
00133     } else {
00134         m_activotrabajador->setChecked(FALSE);
00135     } // end if
00136     m_item = cur;
00139     int res = g_plugins->lanza("TrabajadorView_on_mui_lista_currentItemChanged_Post", this);
00140     if (res != 0) {
00141         return;
00142     } // end if
00143     dialogChanges_cargaInicial();
00144     m_imagen->setPixmap(QPixmap(confpr->valor(CONF_DIR_IMG_PERSONAL) + mdb_idtrabajador + ".jpg"));
00145     _depura( "END on_mui_lista_currentItemChanged", 0);
00146 }

void TrabajadorView::on_mui_nuevo_clicked (  )  [private, virtual, slot]

Returns:

Si se ha modificado el contenido advertimos y guardamos.

Definition at line 227 of file trabajadorview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBf::empresaBase(), mdb_idtrabajador, mensajeInfo(), pintar(), postgresiface2::rollback(), trataModificado(), and cursor2::valor().

00227                                           {
00228     _depura("TrabajadorView::on_mui_nuevo_clicked", 0);
00229     try {
00231         trataModificado();
00232         QString query = "INSERT INTO trabajador (nomtrabajador, apellidostrabajador, nsstrabajador) VALUES ('NUEVO TRABAJADOR','NUEVO TRABAJADOR','000000000000')";
00233         empresaBase()->begin();
00234         empresaBase()->ejecuta(query);
00235         cursor2 *cur = empresaBase()->cargacursor("SELECT max(idtrabajador) AS idtrabajador FROM trabajador");
00236         empresaBase()->commit();
00237         mdb_idtrabajador = cur->valor("idtrabajador");
00238         delete cur;
00239         pintar();
00240         _depura("END TrabajadorView::on_mui_nuevo_clicked", 0);
00241     } catch (...) {
00242         mensajeInfo(tr("Error al crear un nuevo Trabajador"));
00243         empresaBase()->rollback();
00244     } // end try
00245 }

void TrabajadorView::on_mui_imagen_clicked (  )  [private, virtual, slot]

Returns:

Definition at line 276 of file trabajadorview.cpp.

References _depura(), m_archivoimagen, and Ui_TrabajadorBase::m_imagen.

00276                                            {
00277     _depura("TrabajadorView::on_mui_imagen_clicked", 0);
00278     m_archivoimagen = QFileDialog::getOpenFileName(this,
00279                       tr("Seleccione archivo"),
00280                       "",
00281                       tr("Imagenes (*.jpg)"));
00282     m_imagen->setPixmap(QPixmap(m_archivoimagen));
00283     _depura("END TrabajadorView::on_mui_imagen_clicked", 0);
00284 }


Field Documentation

cursor2* TrabajadorView::m_cursortrabajadores [private]

Definition at line 37 of file trabajadorview.h.

Referenced by on_mui_guardar_clicked(), on_mui_lista_currentItemChanged(), pintar(), TrabajadorView(), and ~TrabajadorView().

QString TrabajadorView::mdb_idtrabajador [private]

Indica cual es el objeto que se esta mostrando.

Definition at line 39 of file trabajadorview.h.

Referenced by idtrabajador(), on_mui_borrar_clicked(), on_mui_guardar_clicked(), on_mui_lista_currentItemChanged(), and on_mui_nuevo_clicked().

QString TrabajadorView::m_archivoimagen [private]

Indica el archivo de imagen que se esta mostrando. Y si se ha cambiado la imagen tambien lo indica.

Definition at line 42 of file trabajadorview.h.

Referenced by on_mui_guardar_clicked(), on_mui_imagen_clicked(), and TrabajadorView().

QListWidgetItem* TrabajadorView::m_item [private]

Indica en la lista de trabajadores cual es el item seleccionado.

Definition at line 44 of file trabajadorview.h.

Referenced by on_mui_guardar_clicked(), on_mui_lista_currentItemChanged(), and TrabajadorView().


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