TipoArticuloList Class Reference

Muestra y administra la ventana con la información de un tipo de artículo. More...

#include <tiposarticuloview.h>

Inheritance diagram for TipoArticuloList:

Ficha Ui_tiposarticulobase BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void pintar ()
virtual void on_m_listTipos_itemDoubleClicked (QTreeWidgetItem *item, int column)
virtual void on_mui_crear_clicked ()
virtual void on_m_listTipos_currentItemChanged (QTreeWidgetItem *current, QTreeWidgetItem *previous)

Signals

void selected (QString)

Public Member Functions

 TipoArticuloList (Company *, QWidget *parent=0, bool modoConsulta=FALSE)
 ~TipoArticuloList ()
bool trataModificado ()
void mostrarplantilla ()
void setModoConsulta ()
void setModoEdicion ()
QString codtipo_articulo ()
QString idtipo_articulo ()
QString desctipo_articulo ()
virtual int guardar ()
virtual void on_mui_borrar_clicked ()

Private Attributes

Companycompanyact
QString m_idtipo
bool m_modoConsulta

Detailed Description

Muestra y administra la ventana con la información de un tipo de artículo.

Definition at line 34 of file tiposarticuloview.h.


Constructor & Destructor Documentation

TipoArticuloList::TipoArticuloList ( Company comp,
QWidget parent = 0,
bool  modoConsulta = FALSE 
)

Parameters:
comp 
parent 
modoConsultas 

Definition at line 40 of file tiposarticuloview.cpp.

References _depura(), companyact, Ui_tiposarticulobase::groupBox1, m_idtipo, Ui_tiposarticulobase::m_listTipos, EmpresaBase::meteWindow(), Ui_tiposarticulobase::mui_aceptar, Ui_tiposarticulobase::mui_borrar, Ui_tiposarticulobase::mui_cancelar, Ui_tiposarticulobase::mui_crear, Ui_tiposarticulobase::mui_detalles, Ui_tiposarticulobase::mui_guardar, pintar(), setModoConsulta(), setModoEdicion(), and Ui_tiposarticulobase::setupUi().

00041         : Ficha(parent) {
00042     _depura("TipoArticuloList::TipoArticuloList", 0);
00043     setupUi(this);
00044     companyact = comp;
00045     m_listTipos->setColumnCount(3);
00046     QStringList headers;
00047     headers << tr("Id") << tr("Codigo") << tr("Descripcion");
00048     m_listTipos->setHeaderLabels(headers);
00049     m_idtipo = "";
00050     if (modoConsulta) {
00051         setModoConsulta();
00052         groupBox1->hide();
00053         mui_detalles->hide();
00054         mui_crear->hide();
00055         mui_guardar->hide();
00056         mui_borrar->hide();
00057         mui_cancelar->hide();
00058         mui_aceptar->hide();
00059     } else {
00060         setModoEdicion();
00061         setAttribute(Qt::WA_DeleteOnClose);
00062         companyact->meteWindow(windowTitle(), this);
00063     } // end if
00064     pintar();
00065     _depura("END TipoArticuloList::TipoArticuloList", 0);
00066 }

TipoArticuloList::~TipoArticuloList (  ) 

Definition at line 72 of file tiposarticuloview.cpp.

References _depura().

00072                                     {
00073     _depura("TipoArticuloList::~TipoArticuloList", 0);
00074     _depura("END TipoArticuloList::~TipoArticuloList", 0);
00075 }


Member Function Documentation

bool TipoArticuloList::trataModificado (  ) 

Returns:

Si se ha modificado el contenido advertimos y guardamos.

Definition at line 245 of file tiposarticuloview.cpp.

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

Referenced by on_m_listTipos_currentItemChanged(), on_mui_borrar_clicked(), and on_mui_crear_clicked().

00245                                        {
00246     _depura("TipoArticuloList::trataModificado", 0);
00248     if (dialogChanges_hayCambios()) {
00249         if (QMessageBox::warning(this,
00250                                  tr("Guardar familia"),
00251                                  tr("Desea guardar los cambios?"),
00252                                  QMessageBox::Ok,
00253                                  QMessageBox::Cancel) == QMessageBox::Ok)
00254             on_mui_guardar_clicked();
00255         _depura("END TipoArticuloList::trataModificado", 0);
00256         return TRUE;
00257     } // end if
00258     return FALSE;
00259 }

void TipoArticuloList::mostrarplantilla (  ) 

Definition at line 224 of file tiposarticuloview.cpp.

References _depura(), postgresiface2::cargacursor(), companyact, dialogChanges::dialogChanges_cargaInicial(), cursor2::eof(), Ui_tiposarticulobase::m_codTipo, Ui_tiposarticulobase::m_descTipo, m_idtipo, and cursor2::valor().

Referenced by on_m_listTipos_currentItemChanged().

00224                                         {
00225     _depura("TipoArticuloList::mostrarplantilla", 0);
00226     QString query;
00227     query = "SELECT * from tipo_articulo WHERE idtipo_articulo = " + m_idtipo;
00228     cursor2 *cursortipo = companyact->cargacursor(query);
00229     if (!cursortipo->eof()) {
00230         m_codTipo->setText(cursortipo->valor("codtipo_articulo"));
00231         m_descTipo->setPlainText(cursortipo->valor("desctipo_articulo"));
00232     } // end if
00233     delete cursortipo;
00235     dialogChanges_cargaInicial();
00236     _depura("END TipoArticuloList::mostrarplantilla", 0);
00237 }

void TipoArticuloList::setModoConsulta (  ) 

Reimplemented from Ficha.

Definition at line 81 of file tiposarticuloview.cpp.

References _depura(), m_modoConsulta, and TRUE.

Referenced by TipoArticuloList().

00081                                        {
00082     _depura("TipoArticuloList::setModoConsulta", 0);
00083     m_modoConsulta = TRUE;
00084     _depura("TipoArticuloList::setModoConsulta", 0);
00085 }

void TipoArticuloList::setModoEdicion (  ) 

Reimplemented from Ficha.

Definition at line 91 of file tiposarticuloview.cpp.

References _depura(), FALSE, and m_modoConsulta.

Referenced by TipoArticuloList().

00091                                       {
00092     _depura("TipoArticuloList::setModoEdicion", 0);
00093     m_modoConsulta = FALSE;
00094     _depura("END TipoArticuloList::setModoEdicion", 0);
00095 }

QString TipoArticuloList::codtipo_articulo (  ) 

Returns:

Definition at line 142 of file tiposarticuloview.cpp.

References _depura(), COL_CODTIPOARTICULO, and Ui_tiposarticulobase::m_listTipos.

Referenced by BusquedaTipoArticulo::on_mui_buscar_clicked().

00142                                            {
00143     _depura("TipoArticuloList::codtipo_articulo", 0);
00144     QTreeWidgetItem *it = m_listTipos->currentItem();
00145     if (it) {
00146         return it->text(COL_CODTIPOARTICULO);
00147     } else {
00148         return "";
00149     } // end if
00150     _depura("END TipoArticuloList::codtipo_articulo", 0);
00151 }

QString TipoArticuloList::idtipo_articulo (  ) 

Returns:

Definition at line 158 of file tiposarticuloview.cpp.

References _depura(), COL_IDTIPOARTICULO, and Ui_tiposarticulobase::m_listTipos.

Referenced by BusquedaTipoArticulo::on_mui_buscar_clicked().

00158                                           {
00159     _depura("TipoArticuloList::idtipo_articulo", 0);
00160     QTreeWidgetItem *it = m_listTipos->currentItem();
00161     if (it) {
00162         return it->text(COL_IDTIPOARTICULO);
00163     } else {
00164         return "";
00165     } // end if
00166     _depura("TipoArticuloList::idtipo_articulo", 0);
00167 }

QString TipoArticuloList::desctipo_articulo (  ) 

Returns:

Definition at line 174 of file tiposarticuloview.cpp.

References _depura(), COL_DESCTIPOARTICULO, and Ui_tiposarticulobase::m_listTipos.

Referenced by BusquedaTipoArticulo::on_mui_buscar_clicked().

00174                                             {
00175     _depura("TipoArticuloList::desctipo_articulo", 0);
00176     QTreeWidgetItem *it = m_listTipos->currentItem();
00177     if (it) {
00178         return it->text(COL_DESCTIPOARTICULO);
00179     } else {
00180         return "";
00181     } // end if
00182     _depura("END TipoArticuloList::desctipo_articulo", 0);
00183 }

int TipoArticuloList::guardar (  )  [virtual]

Returns:

Vamos a hacer algo no reentrante.

Reimplemented from Ficha.

Definition at line 267 of file tiposarticuloview.cpp.

References postgresiface2::begin(), postgresiface2::cargacursor(), COL_CODTIPOARTICULO, COL_DESCTIPOARTICULO, COL_IDTIPOARTICULO, postgresiface2::commit(), companyact, postgresiface2::ejecuta(), cursor2::eof(), Ui_tiposarticulobase::m_codTipo, Ui_tiposarticulobase::m_descTipo, m_idtipo, Ui_tiposarticulobase::m_listTipos, postgresiface2::rollback(), postgresiface2::sanearCadena(), and cursor2::valor().

00267                               {
00268     QString query = "UPDATE tipo_articulo SET codtipo_articulo = '" +
00269                     companyact->sanearCadena(m_codTipo->text()) + "', desctipo_articulo = '" +
00270                     companyact->sanearCadena(m_descTipo->toPlainText()) + "' WHERE idtipo_articulo = " + m_idtipo;
00271     companyact->begin();
00272     int error = companyact->ejecuta(query);
00273     if (error) {
00274         companyact->rollback();
00275         return -1;
00276     } // end if
00277     companyact->commit();
00278     //pintar();
00279 
00281     QList<QTreeWidgetItem *> listit =  m_listTipos->findItems(m_idtipo, Qt::MatchExactly, COL_IDTIPOARTICULO);
00282     QTreeWidgetItem *it = listit.first();
00283     cursor2 *cursoraux1 = companyact->cargacursor("SELECT * FROM tipo_articulo WHERE idtipo_articulo = " + m_idtipo);
00284     if (!cursoraux1->eof()) {
00285         it->setText(COL_IDTIPOARTICULO, cursoraux1->valor("idtipo_articulo"));
00286         it->setText(COL_CODTIPOARTICULO,cursoraux1->valor("codtipo_articulo"));
00287         it->setText(COL_DESCTIPOARTICULO, cursoraux1->valor("desctipo_articulo"));
00288     } // end if
00289     delete cursoraux1;
00290     return 0;
00291 }

void TipoArticuloList::on_mui_borrar_clicked (  )  [virtual]

Returns:

Reimplemented from Ficha.

Definition at line 328 of file tiposarticuloview.cpp.

References _depura(), companyact, postgresiface2::ejecuta(), m_idtipo, Ui_tiposarticulobase::m_listTipos, and trataModificado().

00328                                              {
00329     _depura("TipoArticuloList::on_mui_borrar_clicked", 0);
00330     QTreeWidgetItem *it = m_listTipos->currentItem();
00331     if (!it)
00332         return;
00333     trataModificado();
00334     QString query = "DELETE FROM tipo_articulo WHERE idtipo_articulo = " + m_idtipo;
00335     int error = companyact->ejecuta(query);
00336     if (error) {
00337         return;
00338     } // end if
00339     it = m_listTipos->takeTopLevelItem(m_listTipos->indexOfTopLevelItem(m_listTipos->currentItem()));
00340     delete it;
00341     _depura("END TipoArticuloList::on_mui_borrar_clicked", 0);
00342 }

void TipoArticuloList::pintar (  )  [virtual, slot]

Reimplemented from Ficha.

Definition at line 102 of file tiposarticuloview.cpp.

References _depura(), postgresiface2::cargacursor(), COL_CODTIPOARTICULO, COL_DESCTIPOARTICULO, COL_IDTIPOARTICULO, companyact, dialogChanges::dialogChanges_cargaInicial(), cursor2::eof(), m_idtipo, Ui_tiposarticulobase::m_listTipos, mensajeInfo(), cursor2::siguienteregistro(), TRUE, and cursor2::valor().

Referenced by on_mui_crear_clicked(), and TipoArticuloList().

00102                               {
00103     _depura("TipoArticuloList::pintar", 0);
00104     cursor2 *cursoraux1 = NULL;
00105     try {
00106         QTreeWidgetItem * it;
00107 
00110         while (m_listTipos->topLevelItemCount() > 1) {
00111             it = m_listTipos->topLevelItem(0);
00112             delete it;
00113         } // end while
00114         it = m_listTipos->topLevelItem(0);
00115         if (it) it->setHidden(TRUE);
00116 
00117         cursoraux1 = companyact->cargacursor("SELECT * FROM tipo_articulo ORDER BY codtipo_articulo");
00118         while (!cursoraux1->eof()) {
00119             it = new QTreeWidgetItem(m_listTipos);
00120             it->setText(COL_IDTIPOARTICULO, cursoraux1->valor("idtipo_articulo"));
00121             it->setText(COL_CODTIPOARTICULO,cursoraux1->valor("codtipo_articulo"));
00122             it->setText(COL_DESCTIPOARTICULO, cursoraux1->valor("desctipo_articulo"));
00123             //it->setOpen(true);
00124             cursoraux1->siguienteregistro();
00125         } // end while
00126         delete cursoraux1;
00127         m_idtipo = "";
00129         dialogChanges_cargaInicial();
00130         _depura("END TipoArticuloList::pintar", 0);
00131     } catch (...) {
00132         mensajeInfo("Error en la carga");
00133         if (cursoraux1) delete cursoraux1;
00134     } // end try
00135 }

void TipoArticuloList::on_m_listTipos_itemDoubleClicked ( QTreeWidgetItem item,
int  column 
) [virtual, slot]

Parameters:
item 

Definition at line 192 of file tiposarticuloview.cpp.

References _depura(), COL_IDTIPOARTICULO, m_idtipo, m_modoConsulta, and selected().

00192                                                                                   {
00193     if (m_modoConsulta) {
00194         _depura("TipoArticuloList::on_m_listTipos_itemDoubleClicked", 0);
00195         m_idtipo = item->text(COL_IDTIPOARTICULO);
00196         emit selected(m_idtipo);
00197     } // end if
00198     _depura("END TipoArticuloList::on_m_listTipos_itemDoubleClicked", 0);
00199 }

void TipoArticuloList::on_mui_crear_clicked (  )  [virtual, slot]

Returns:

Si se ha modificado el contenido advertimos y guardamos.

Definition at line 299 of file tiposarticuloview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), companyact, postgresiface2::ejecuta(), m_idtipo, mensajeInfo(), pintar(), postgresiface2::rollback(), trataModificado(), and cursor2::valor().

00299                                             {
00300     _depura("TipoArticuloList::on_mui_crear_clicked", 0);
00301     cursor2 *cur = NULL;
00303     trataModificado();
00304     try {
00305         QString query = "INSERT INTO tipo_articulo (codtipo_articulo, desctipo_articulo) VALUES ('XXXXXX', 'Descripcion del tipo')";
00306         companyact->begin();
00307         int error = companyact->ejecuta(query);
00308         if (error) throw -1;
00309         cur = companyact->cargacursor("SELECT max(idtipo_articulo) AS idtipo FROM tipo_articulo");
00310         companyact->commit();
00311         m_idtipo = cur->valor("idtipo");
00312         delete cur;
00313         pintar();
00314         _depura("END TipoArticuloList::on_mui_crear_clicked", 0);
00315     } catch (...) {
00316         mensajeInfo("Error en la creacion");
00317         companyact->rollback();
00318         return;
00319     } // end try
00320 }

void TipoArticuloList::on_m_listTipos_currentItemChanged ( QTreeWidgetItem current,
QTreeWidgetItem previous 
) [virtual, slot]

Parameters:
current 

Si usamos el trataModificado peta porque si se guarda se sobreescribe el puntero it.

Definition at line 208 of file tiposarticuloview.cpp.

References _depura(), COL_IDTIPOARTICULO, m_idtipo, mostrarplantilla(), and trataModificado().

00208                                                                                                     {
00209     _depura("TipoArticuloList::on_m_listTipos_currentItemChanged", 0);
00210     QString idtipoold = current->text(COL_IDTIPOARTICULO);
00211     if (idtipoold != "") {
00213         trataModificado();
00214         m_idtipo = idtipoold;
00215         mostrarplantilla();
00216     } // end if
00217     _depura("END TipoArticuloList::on_m_listTipos_currentItemChanged", 0);
00218 }

void TipoArticuloList::selected ( QString   )  [signal]

Definition at line 88 of file moc_tiposarticuloview.cpp.

Referenced by on_m_listTipos_itemDoubleClicked().

00089 {
00090     void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
00091     QMetaObject::activate(this, &staticMetaObject, 0, _a);
00092 }


Field Documentation

Company* TipoArticuloList::companyact [private]

Definition at line 38 of file tiposarticuloview.h.

Referenced by guardar(), mostrarplantilla(), on_mui_borrar_clicked(), on_mui_crear_clicked(), pintar(), and TipoArticuloList().

QString TipoArticuloList::m_idtipo [private]

Indica cual es el registro que se esta modificando. Sirve para saber los cambios que hay que guardar cuando se ha modificado.

Definition at line 41 of file tiposarticuloview.h.

Referenced by guardar(), mostrarplantilla(), on_m_listTipos_currentItemChanged(), on_m_listTipos_itemDoubleClicked(), on_mui_borrar_clicked(), on_mui_crear_clicked(), pintar(), and TipoArticuloList().

bool TipoArticuloList::m_modoConsulta [private]

Indica si es modo consulta o modo edicion. (altera el comportamiento del doble click sobre la lista)

Definition at line 44 of file tiposarticuloview.h.

Referenced by on_m_listTipos_itemDoubleClicked(), setModoConsulta(), and setModoEdicion().


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