#include <clientslist.h>
Inheritance diagram for ClientsList:

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. | |
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.
| 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 }
| 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 }
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().
1.5.1