ClientsList Class Reference

: Deberia crearse la clase Listado para poner en ella mas funcionalidades comunes a los listados. More...

#include <clientslist.h>

Inheritance diagram for ClientsList:

Listado Ui_ClientsListBase pgimportfiles BLWidget QWidget PEmpresaBase

Public Slots

virtual void on_mui_exportar_clicked ()
virtual void on_mui_importar_clicked ()

Signals

void selected (QString)

Public Member Functions

 ClientsList (Company *, QWidget *parent=0, Qt::WFlags flag=0, edmode editmode=EditMode)
virtual ~ClientsList ()
void presentar ()
 : Mejorar el sistema de filtrado incluyendo una funcion de generar Filtro.
void editar (int)
void imprimir ()
void crear ()
void borrar ()
QString idclient ()
QString nomclient ()
QString cifclient ()
void submenu (const QPoint &)

Private Attributes

QString mdb_idcliente
 Almacene el idcliente del registro seleccionado.
QString mdb_nomcliente
 Almacena el nomcliente del cliente seleccionado.
QString mdb_cifcliente
 Almacena el cifcliente del registro seleccionado.

Detailed Description

: Deberia crearse la clase Listado para poner en ella mas funcionalidades comunes a los listados.

Esta clase implementa la pantalla de listado de Clientes. Deriva de Ficha para la estandarizacion de Pantallas. Tiene dos modos de funcionamiento (Edicion y Seleccion)

Definition at line 51 of file clientslist.h.


Constructor & Destructor Documentation

ClientsList::ClientsList ( Company comp,
QWidget parent = 0,
Qt::WFlags  flag = 0,
edmode  editmode = EditMode 
)

Inicializa todos los componentes del listado. Hace una presentacion inicial. Mete la ventana en el workSpace si estamos en modo edicion.

Disparamos los plugins.

Si estamos en el modo edición metemos la ventana en el workSpace.

Hacemos el tratamiento de los permisos que desabilita botones en caso de no haber suficientes permisos.

Definition at line 41 of file clientslist.cpp.

References _depura(), PEmpresaBase::empresaBase(), g_plugins, Listado::hideBusqueda(), Plugins::lanza(), mdb_cifcliente, mdb_idcliente, mdb_nomcliente, EmpresaBase::meteWindow(), Listado::modoEdicion(), Ui_ClientsListBase::mui_borrar, Ui_ClientsListBase::mui_crear, Ui_ClientsListBase::mui_editar, Ui_ClientsListBase::mui_exportar, Ui_ClientsListBase::mui_importar, Ui_ClientsListBase::mui_imprimir, Ui_ClientsListBase::mui_list, presentar(), SubForm2Bf::setEmpresaBase(), Listado::setSubForm(), Ui_ClientsListBase::setupUi(), Listado::trataPermisos(), and TRUE.

00042         : Listado(comp, parent, flag, editmode), pgimportfiles(comp) {
00043     _depura("ClientsList::ClientsList", 0);
00044     setupUi(this);
00045 
00047     int res = g_plugins->lanza("ClientsList_ClientsList", this);
00048     if (res != 0)
00049         return;
00050 
00051     mui_list->setEmpresaBase(comp);
00052     setSubForm( mui_list);
00053     mdb_idcliente = "";
00054     mdb_cifcliente = "";
00055     mdb_nomcliente = "";
00056     hideBusqueda();
00058     if (modoEdicion()) {
00059         empresaBase()->meteWindow(windowTitle(), this);
00060     } else {
00061         setWindowTitle(tr("Selector de clientes"));
00062         mui_editar->setHidden(TRUE);
00063         mui_crear->setHidden(TRUE);
00064         mui_borrar->setHidden(TRUE);
00065         mui_exportar->setHidden(TRUE);
00066         mui_importar->setHidden(TRUE);
00067         mui_imprimir->setHidden(TRUE);
00068     } // end if
00069     presentar();
00071     trataPermisos("cliente");
00072     _depura("END ClientsList::ClientsList", 0);
00073 }

ClientsList::~ClientsList (  )  [virtual]

No requiere acciones especiales en el destructor de la clase.

Definition at line 78 of file clientslist.cpp.

References _depura().

00078                           {
00079     _depura("ClientsList::~ClientsList", 0);
00080     _depura("END ClientsList::~ClientsList", 0);
00081 }


Member Function Documentation

void ClientsList::presentar (  )  [virtual]

: Mejorar el sistema de filtrado incluyendo una funcion de generar Filtro.

Todo el listado de clientes lo presenta el Subformulario mui_list del tipo ListLinCliente.

Reimplemented from Listado.

Definition at line 87 of file clientslist.cpp.

References _depura(), SubForm2Bf::cargar(), Ui_ClientsListBase::m_filtro, and Ui_ClientsListBase::mui_list.

Referenced by borrar(), ClientsList(), on_mui_importar_clicked(), and Company::refreshClientes().

00087                             {
00088     _depura("ClientsList::presenta", 0);
00089     mui_list->cargar("SELECT * FROM cliente  WHERE lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%') ORDER BY nomcliente");
00090     _depura("END ClientsList::presenta", 0);
00091 }

void ClientsList::editar ( int  row  )  [virtual]

LA accion de editar tiene una doble vertiente dependiendo del modo en que se ha abierto la ventana. Modo Edicion:

Reimplemented from Listado.

Definition at line 100 of file clientslist.cpp.

References _depura(), QWorkspace2::addWindow(), Ficha::cargar(), SubForm3::DBvalue(), PEmpresaBase::empresaBase(), EmpresaBase::m_pWorkspace, mdb_cifcliente, mdb_idcliente, mdb_nomcliente, Listado::modoEdicion(), Ui_ClientsListBase::mui_list, and selected().

00100                                 {
00101     _depura("ClientsList::editar", 0);
00102     mdb_idcliente = mui_list->DBvalue("idcliente", row);
00103     mdb_cifcliente = mui_list->DBvalue("cifcliente", row);
00104     mdb_nomcliente = mui_list->DBvalue("nomcliente", row);
00105     if (modoEdicion()) {
00106         ClienteView *prov = ((Company *)empresaBase())->newClienteView();
00107         if (prov->cargar(mdb_idcliente)) {
00108             delete prov;
00109             return;
00110         } // end if
00111         empresaBase()->m_pWorkspace->addWindow(prov);
00112         prov->show();
00113     } else {
00114         emit(selected(mdb_idcliente));
00115     } // end if
00116     _depura("END ClientsList::editar", 0);
00117 }

void ClientsList::imprimir (  )  [virtual]

SLOT que responde a la pulsacion del boton imprimir. La impresion de listados esta completamente delegada a SubForm3

Reimplemented from Listado.

Definition at line 123 of file clientslist.cpp.

References _depura(), SubForm3::imprimirPDF(), and Ui_ClientsListBase::mui_list.

00123                            {
00124     _depura("ClientsList::on_mui_imprimir_clicked", 0);
00125     mui_list->imprimirPDF(tr("Listado de Clientes"));
00126     _depura("ClientsList::on_mui_imprimir_clicked", 0);
00127 }

void ClientsList::crear (  )  [virtual]

SLOT automatico que se ejecuta al pulsar sobre el boton de crear en la botonera

Reimplemented from Listado.

Definition at line 219 of file clientslist.cpp.

References PEmpresaBase::empresaBase().

00219                         {
00220     ((Company *)empresaBase())->s_newClienteView();
00221 }

void ClientsList::borrar (  )  [virtual]

SLOT que responde a la pulsacion del boton borrar. Instancia la clase ClienteView, lo inicializa con el cliente seleccionado y le lanza el evento de borrar. Esta es la forma adecuada de borrar desde el listado ya que asi preservamos el tema plugins.

Reimplemented from Listado.

Definition at line 135 of file clientslist.cpp.

References _depura(), Ficha::cargar(), SubForm3::DBvalue(), PEmpresaBase::empresaBase(), mensajeInfo(), Ui_ClientsListBase::mui_list, Ficha::on_mui_borrar_clicked(), and presentar().

00135                          {
00136     _depura("ClientsList::on_mui_borrar_clicked", 0);
00137     try {
00138         QString idcliente = mui_list->DBvalue("idcliente");
00139         ClienteView *cli = ((Company *)empresaBase())->newClienteView();
00140         if (cli->cargar(idcliente)) {
00141             delete cli;
00142             throw -1;
00143         } // end if
00144         cli->on_mui_borrar_clicked();
00145         delete cli;
00146         presentar();
00147     } catch (...) {
00148         mensajeInfo(tr("Error al borrar un cliente"));
00149     } // end try
00150     _depura("END:ClientsList::on_mui_borrar_clicked", 0);
00151 }

QString ClientsList::idclient (  ) 

Devuelve el identificador del cliente seleccionado

Definition at line 200 of file clientslist.cpp.

References mdb_idcliente.

00200                               {
00201     return mdb_idcliente;
00202 }

QString ClientsList::nomclient (  ) 

Devuelve el nombre del cliente seleccionado

Definition at line 206 of file clientslist.cpp.

References mdb_nomcliente.

00206                                {
00207     return mdb_nomcliente;
00208 }

QString ClientsList::cifclient (  ) 

Devuelve el cif del cliente seleccionado

Definition at line 212 of file clientslist.cpp.

References mdb_cifcliente.

Referenced by BusquedaCliente::on_mui_buscar_clicked().

00212                                {
00213     return mdb_cifcliente;
00214 }

void ClientsList::submenu ( const QPoint &   )  [virtual]

: REVISAR ESTE METODO YA QUE NO PARECE SER EL ADECUADO EN LA LLAMADA DE SUBMENUS

Reimplemented from Listado.

Definition at line 227 of file clientslist.cpp.

References _depura(), SubForm3::currentRow(), Ui_ClientsListBase::mui_list, Listado::on_mui_borrar_clicked(), and Listado::on_mui_editar_clicked().

00227                                         {
00228     _depura("ArticuloList::on_mui_list_customContextMenuRequested", 0);
00229     int a = mui_list->currentRow();
00230     if (a < 0)
00231         return;
00232     QMenu *popup = new QMenu(this);
00233     QAction *edit = popup->addAction(tr("Editar cliente"));
00234     QAction *del = popup->addAction(tr("Borrar cliente"));
00235     QAction *opcion = popup->exec(QCursor::pos());
00236     if (opcion == del)
00237         on_mui_borrar_clicked();
00238     if (opcion == edit)
00239         on_mui_editar_clicked();
00240     delete popup;
00241 }

void ClientsList::on_mui_exportar_clicked (  )  [virtual, slot]

SLOT que responde a la pulsacion del boton exportar. Saca un dialog selector de archivo para que indiquemos a que archivo exportar. Llama a bulmafact2XML para hacer la exportacion.

Definition at line 158 of file clientslist.cpp.

References _depura(), pgimportfiles::bulmafact2XML(), CONF_DIR_USER, confpr, IMPORT_CLIENTES, and configuracion::valor().

00158                                           {
00159     _depura("ClientsList::on_mui_exportar_clicked", 0);
00160     QFile filexml(QFileDialog::getSaveFileName(
00161                       this,
00162                       tr("Elija el archivo"),
00163                       confpr->valor(CONF_DIR_USER),
00164                       tr("Clientes (*.xml)")));
00165     if (filexml.open(QIODevice::WriteOnly)) {
00166         bulmafact2XML(filexml, IMPORT_CLIENTES);
00167         filexml.close();
00168     } else {
00169         _depura("ERROR AL ABRIR EL ARCHIVO", 2);
00170     } // end if
00171     _depura("END ClientsList::on_mui_exportar_clicked", 0);
00172 }

void ClientsList::on_mui_importar_clicked (  )  [virtual, slot]

SLOT que responde a la pulsacion del boton importar. Saca un selector de archivos para indicar desde que archivo importar. Llama a XML2BulmaFact para hacer la importacion. Refresca el listado.

Definition at line 180 of file clientslist.cpp.

References _depura(), CONF_DIR_USER, confpr, IMPORT_CLIENTES, presentar(), configuracion::valor(), and pgimportfiles::XML2BulmaFact().

00180                                           {
00181     _depura("ClientsList::on_mui_importar_clicked", 0);
00182     QFile filexml(QFileDialog::getOpenFileName(
00183                       this,
00184                       tr("Elija el archivo"),
00185                       confpr->valor(CONF_DIR_USER),
00186                       tr("Clientes (*.xml)")));
00187 
00188     if (filexml.open(QIODevice::ReadOnly)) {
00189         XML2BulmaFact(filexml, IMPORT_CLIENTES);
00190         filexml.close();
00191         presentar();
00192     } else {
00193         _depura("ERROR AL ABRIR EL ARCHIVO\n", 2);
00194     } // end if
00195     _depura("ClientsList::on_mui_importar_clicked", 0);
00196 }

void ClientsList::selected ( QString   )  [signal]

Reimplemented from Listado.

Definition at line 126 of file moc_clientslist.cpp.

Referenced by editar().

00127 {
00128     void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
00129     QMetaObject::activate(this, &staticMetaObject, 0, _a);
00130 }


Field Documentation

QString ClientsList::mdb_idcliente [private]

Almacene el idcliente del registro seleccionado.

Definition at line 56 of file clientslist.h.

Referenced by ClientsList(), editar(), and idclient().

QString ClientsList::mdb_nomcliente [private]

Almacena el nomcliente del cliente seleccionado.

Definition at line 58 of file clientslist.h.

Referenced by ClientsList(), editar(), and nomclient().

QString ClientsList::mdb_cifcliente [private]

Almacena el cifcliente del registro seleccionado.

Definition at line 60 of file clientslist.h.

Referenced by cifclient(), ClientsList(), and editar().


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