#include <subform3.h>
Inheritance diagram for SubForm3:

Public Slots | |
| virtual void | on_mui_list_cellRePosition (int, int) |
| virtual void | on_mui_list_cellChanged (int, int) |
| Método que se dispara cuando se termina de editar un campo del Subformulario. | |
| virtual void | contextMenuEvent (QContextMenuEvent *) |
| virtual void | on_mui_confcol_clicked () |
| virtual void | on_mui_confquery_clicked () |
| virtual void | on_mui_list_pressedSlash (int row, int col) |
| virtual void | on_mui_list_pressedAsterisk (int row, int col) |
| virtual void | on_mui_list_pressedPlus (int row, int col) |
| virtual void | on_mui_list_pressedMinus (int row, int col) |
| virtual void | on_mui_list_ctrlSubir (int row, int col) |
| virtual void | on_mui_list_ctrlBajar (int row, int col) |
| virtual void | on_mui_pagsiguiente_clicked () |
| virtual void | on_mui_paganterior_clicked () |
| virtual void | on_mui_list_itemDoubleClicked (QTableWidgetItem *item) |
| virtual void | on_mui_list_itemClicked (QTableWidgetItem *item) |
| virtual void | on_mui_list_cellDoubleClicked (int row, int col) |
| virtual void | toogleConfig () |
| virtual void | on_mui_botonCerrar_clicked () |
| virtual void | on_mui_list_itemChanged (QTableWidgetItem *it) |
Signals | |
| void | toogledConfig (bool) |
| void | editFinish (int, int) |
| void | itemDoubleClicked (QTableWidgetItem *) |
| void | itemClicked (QTableWidgetItem *) |
| void | cellDoubleClicked (int row, int col) |
| void | pintaMenu (QMenu *) |
| void | trataMenu (QAction *) |
Public Member Functions | |
| QList< SDBRecord * > * | lista () |
| QList< SHeader * > * | cabecera () |
| Devuelve la lista de cabeceras que forman el subformulario. | |
| SubForm3 (QWidget *parent) | |
| SubForm3, constructor de la clase base para subformularios. | |
| virtual | ~SubForm3 () |
| Destructor de Clase que guarda la configuracion. | |
| virtual void | setEmpresaBase (EmpresaBase *) |
| void | setProcesarCambios (bool) |
| Establece si el subformulario debe considerar y tratar los cambios de celdas. | |
| bool | procesaCambios () |
| Indica si el subformulario esta considerando el tratamiento de celdas modificadas. | |
| void | setListadoPijama (bool pijama) |
| Define si el listado presentará las filas con colores alternativos. | |
| bool | listadoPijama () |
| void | setHorizontalScrollMode (QAbstractItemView::ScrollMode mode) |
| Establece el modo de funcionamiento del scroll horizontal. | |
| void | setColorFondo1 (QString color) |
| void | setColorFondo2 (QString color) |
| void | setSortingEnabled (bool) |
| Establece que los elementos del subformulario son ordenables. | |
| bool | sortingEnabled () |
| Indica si los elementos del subformulario son ordenables. | |
| void | setOrdenEnabled (bool) |
| Establece si el subformulario se ordena mediante un campo orden en la base de datos. | |
| void | setOrdenPorQuery (bool) |
| bool | ordenEnabled () |
| bool | campoCompleto (int row) |
| Devuelve TRUE si el registro ha sido completamente rellenado. | |
| void | setDelete (bool f) |
| SDBCampo * | item (int row, int col) |
| void | setCurrentItem (int row, int col) |
| Pone el foco en una celda determinada. | |
| int | columnCount () |
| Devuelve el número total de columnas del subformulario. | |
| void | showColumn (int i) |
| Muestra la columna indicada en el subformulario. | |
| int | columnWidth (int i) |
| Devuelve el ancho de la columna indicada. | |
| void | setColumnWidth (int i, int j) |
| Establece el ancho de la columna indicada. | |
| void | hideColumn (int i) |
| Oculta la columna indicada. | |
| int | currentRow () |
| Devuelve la fila que en la actualidad posee el foco en el subformulario. | |
| int | rowCount () |
| Devuelve el número de filas en el subformulario. | |
| int | currentColumn () |
| Devuelve la columna que en la actualidad posee el foco del subformulario. | |
| void | setResizeMode (QHeaderView::ResizeMode modo) |
| Establece la forma de redimensionado de las columnas del subformulario. | |
| void | resizeColumnsToContents () |
| void | resizeRowsToContents () |
| void | resizeColumnToContents (int i) |
| Redimensiona las columnas del subformulario para ajustarlas a los contenidos. | |
| void | resizeRowToContents (int i) |
| Ajusta la fila indicada a sus contenidos. | |
| void | hideConfig () |
| Oculta el configurador del subformulario. | |
| void | showConfig () |
| Muestra el configurador del subformulario. | |
| QString | imprimir () |
| Hace la impresion del subformulario en formato de tabla RML. | |
| void | sortItems (int col, Qt::SortOrder orden) |
| void | setinsercion (bool b) |
| void | setColumnToRowSpan (QString campo) |
| void | setDBTableName (QString nom) |
| QString | tableName () |
| void | setFileConfig (QString nom) |
| void | setDBCampoId (QString nom) |
| void | clear () |
| void | setRowCount (int i) |
| void | setColumnCount (int i) |
| void | situarse (unsigned int, unsigned int) |
| Se situa en una celda especifica del subformulario. | |
| void | situarse1 (unsigned int, unsigned int) |
| Se situa en una celda especifica del subformulario. | |
| int | addSHeader (QString nom, DBCampo::dbtype typ, int res, int opt, QString nomp) |
| Método para agregar cabeceras al listado. | |
| SDBRecord * | newSDBRecord () |
| virtual void | setColumnValue (QString, QString) |
| QString | DBvalue (const QString &campo, int row=-1) |
| void | setDBvalue (const QString &campo, int row, const QString &valor) |
| SDBRecord * | lineaact () |
| Devuelve la linea que se esta tratando actualmente. | |
| SDBRecord * | lineaat (int row) |
| Devuelve la linea especificada o NULL si ésta no existe. | |
| virtual void | imprimirPDF (const QString &) |
| virtual void | nuevoRegistro () |
| virtual int | borrar () |
| virtual int | borrar (int) |
| virtual int | guardar () |
| virtual void | cargar (QString query) |
| virtual int | inicializar () |
| Carga una tabla a partir del recordset que se le ha pasado. | |
| virtual void | pintar () |
| virtual void | creaMenu (QMenu *) |
| virtual void | procesaMenu (QAction *) |
| virtual Fixed | sumarCampo (QString) |
| bool | existsHeader (const QString &) |
| virtual int | cerrarEditor () |
| Metodo para ser derivado. | |
| virtual void | confquery () |
| QString | columnDBfieldName (int columna) |
| Devuelve el nombre del campo en la base de datos sabiendo que columna representa ese dato. | |
Data Fields | |
| int | m_prevRow |
| Indica cual es el último campo (fila) que se ha editado. | |
| int | m_prevCol |
| Indica cual es el último campo (columna) que se ha editado. | |
Protected Member Functions | |
| void | ponItemColorFondo (QTableWidget *twidget, int filainicial, int totalfilas, QColor colorfondo) |
| void | guardaconfig () |
| Guardamos el archivo de configuracion. | |
| void | cargaconfig () |
| void | cargaSpecs () |
| virtual void | pintaCabeceras () |
| Pinta las cabeceras en la tabla. | |
Protected Attributes | |
| QString | m_tablename |
| Nombre de la tabla en la BD. | |
| QList< SHeader * > | m_lcabecera |
| Lista de encabezados del listado. Coordenadas X de la tabla. | |
| QList< SDBRecord * > | m_lista |
| Filas y contenido. Coordenadas Y de la tabla. | |
| QList< SDBRecord * > | m_listaborrar |
| Lista de subformularios marcados para ser borrados. | |
| QString | m_fileconfig |
| Fichero de configuracion del subformulario. | |
| QString | m_campoid |
| Campo Identificador de la tabla en la BD. | |
| bool | m_insercion |
| Indica si se pueden insertar nuevas filas o no. | |
| bool | m_primero |
| Indica si ya se ha cargado la configuracion o no. | |
| bool | m_delete |
| Indica si se pueden borrar registros. | |
| bool | m_sorting |
| Indica si el subformulario es ordenable o no. | |
| bool | m_orden |
| Indica si se usa ordenacion por la base de datos. (Su uso implica que exista en la tabla el campo orden). | |
| bool | m_ordenporquery |
| Indica que no se va aplicar ninguna ordenación a la consulta de la base de datos. | |
| bool | m_procesacambios |
| Indica si procesar cambios en las celdas o no. | |
| QString | m_textoceldaParaRowSpan |
| Texto de la celda que se coge para saber si se tienen que unir con RowSpan. | |
| QString | m_columnaParaRowSpan |
| Define que columna se va a coger para unir las filas que sean iguales. | |
| int | m_filaInicialRowSpan |
| QColor | m_colorfondo1 |
| QColor | m_colorfondo2 |
Private Member Functions | |
| virtual void | cargar (cursor2 *cur) |
| Carga una tabla a partir del recordset que se le ha pasado. | |
Private Attributes | |
| QString | m_query |
Proporciona un widget que combina la clase QTable con los registros de la base de datos proporcionando un potente manejador tabular de datos que puede generar desde listados hasta subformularios
Definition at line 46 of file subform3.h.
| SubForm3::SubForm3 | ( | QWidget * | parent | ) |
SubForm3, constructor de la clase base para subformularios.
| parent |
Inicializamos los valores de columna y fila previas para que no tengan un valor indefinido. Se inicializan con -1 para considerar que no hay celda previa.
Desactivamos el procesado de cambios.
Disparamos los plugins.
TODO:Hay un Bug que impide ordenar bien los elementos.
Valor por defecto en todos los listados.
Capturamos la secuencia de teclas para hacer aparecer o desaparecer el panel de configuracion del subform3.
Para el listado de columnas hacemos una inicializacion.
Siempre que arrancamos mostramos la pagina 0.
Ocultamos la configuracion.
Limpiamos la lista.
Inicializamos los valores de columna y fila previas para que no tengan un valor indefinido. Se inicializan con -1 para considerar que no hay celda previa.
Disparamos los plugins.
Definition at line 40 of file subform3.cpp.
References _depura(), FALSE, g_plugins, hideConfig(), Plugins::lanza(), m_colorfondo1, m_colorfondo2, m_filaInicialRowSpan, m_insercion, m_lista, m_listaborrar, m_orden, m_ordenporquery, m_prevCol, m_prevRow, m_primero, m_procesacambios, m_sorting, m_textoceldaParaRowSpan, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_listcolumnas, Ui_SubForm3Base::mui_paginaact, setDelete(), setListadoPijama(), QTableWidget2::setSortingEnabled(), Ui_SubForm3Base::setupUi(), toogleConfig(), and TRUE.
00040 : BLWidget(parent) { 00041 _depura("SubForm3::SubForm3", 0); 00042 setupUi(this); 00045 m_prevCol = -1; 00046 m_prevRow = -1; 00047 00049 m_procesacambios = FALSE; 00050 00051 m_textoceldaParaRowSpan = ""; 00052 m_filaInicialRowSpan = -1; 00053 00055 int res = g_plugins->lanza("SubForm3_SubForm3", this); 00056 if (res != 0) { 00057 m_procesacambios = TRUE; 00058 return; 00059 } // end if 00060 00061 mui_list->setSelectionMode(QAbstractItemView::SingleSelection); 00062 mui_list->setSelectionBehavior(QAbstractItemView::SelectRows); 00063 mui_list->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 00064 mui_list->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 00065 mui_list->setSortingEnabled(FALSE); 00067 mui_list->horizontalHeader()->setMovable(TRUE); 00069 setListadoPijama(TRUE); 00070 QPalette p; 00071 p = mui_list->palette(); 00072 m_colorfondo1 = p.color(QPalette::Normal, QPalette::Base); 00073 m_colorfondo2 = p.color(QPalette::Normal, QPalette::AlternateBase); 00074 00077 QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+B"), this); 00078 connect(shortcut, SIGNAL(activated()), this, SLOT(toogleConfig())); 00079 00080 m_insercion = FALSE; 00081 m_primero = TRUE; 00082 m_sorting = FALSE; 00083 m_orden = FALSE; 00084 m_ordenporquery = FALSE; 00085 00087 QStringList headers; 00088 headers << "" << tr("Nombre") << tr("Nombre de campo") << tr("Visible"); 00089 mui_listcolumnas->setColumnCount(4); 00090 mui_listcolumnas->setHorizontalHeaderLabels(headers); 00091 mui_listcolumnas->setShowGrid(FALSE); 00092 mui_listcolumnas->setColumnWidth(0, 25); 00093 mui_listcolumnas->setColumnWidth(1, 100); 00094 mui_listcolumnas->setColumnWidth(2, 175); 00095 mui_listcolumnas->setColumnWidth(3, 0); 00096 mui_listcolumnas->setSelectionBehavior(QAbstractItemView::SelectRows); 00097 mui_listcolumnas->verticalHeader()->hide(); 00098 mui_listcolumnas->setEditTriggers(QAbstractItemView::NoEditTriggers); 00099 mui_listcolumnas->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); 00100 00102 mui_paginaact->setValue(1); 00104 hideConfig(); 00106 m_lista.clear(); 00107 m_listaborrar.clear(); 00108 00111 m_prevCol = -1; 00112 m_prevRow = -1; 00113 setDelete(TRUE); 00114 00116 g_plugins->lanza("SubForm3_SubForm3_Post", this); 00117 m_procesacambios = TRUE; 00118 _depura("END SubForm3::SubForm3", 0); 00119 }
| SubForm3::~SubForm3 | ( | ) | [virtual] |
Destructor de Clase que guarda la configuracion.
PAra destruir desactivamos el control de cambios.
Definition at line 126 of file subform3.cpp.
References _depura(), FALSE, guardaconfig(), and m_procesacambios.
00126 { 00127 _depura("SubForm3::~SubForm3", 0); 00129 m_procesacambios = FALSE; 00130 guardaconfig(); 00131 _depura("END SubForm3::~SubForm3", 0); 00132 }
| void SubForm3::cargar | ( | cursor2 * | cur | ) | [private, virtual] |
Carga una tabla a partir del recordset que se le ha pasado.
| cur |
Desactivamos el sorting debido a un error en las Qt4.
Reseteamos el "rowSpan" de la tabla antes de borrar las filas.
Vaciamos la tabla para que no contenga registros.
Vaciamos el recordset para que no contenga registros.
Inicializamos las columnas y pintamos las cabeceras.
Si hay un problema con el cursor, se sale antes de generar Segmentation Fault.
Ponemos la consulta a la vista para que pueda ser editada.
Tratramos con la paginacion.
Ponemos los datos sobre la consulta.
Si el numero de elementos es igual al numero de filas por pagina abilitamos la pagina siguiente
Si la pagina actual es 1 desabilitamos la pagina anterior
Recorremos el recordset y ponemos los registros en un orden determinado.
Inicializamos la tabla con las filas necesarias.
Para emparejar los valores fechas.
Si es una fecha lo truncamos a 10 caracteres para presentar solo la fecha.
Rellena la tabla con los datos.
Establece el "rowSpan" de la tabla.
Recorre las filas.
Pone el 'rowSpan' a las filas que son iguales.
Mira lo que hay en la fila anterior si existe.
activamos el indice de celdas iguales
hay un registro después. No, dibuja 'rowSpan'.
Comprobamos si queda algo pendiente de hacer 'rowSpan'.
'rowSpan' desde inicio iguales hasta fila anterior.
El registro sólo tiene una fila.
Si está definido no aplicamos ninguna ordenación.
Si estamos con campos de ordenacion ordenamos tras la carga el listado
Si no estamos con campos de ordenación ordenamos por lo que toca. Ordenamos la tabla.
Generamos el registro de insercion.
Configuramos que registros son visibles y que registros no lo son
Reactivamos el sorting
Definition at line 992 of file subform3.cpp.
References _depura(), cargaconfig(), DBRecord::DBload(), cursor2::eof(), FALSE, DBRecord::lista(), m_colorfondo1, m_colorfondo2, m_columnaParaRowSpan, m_filaInicialRowSpan, m_lcabecera, m_lista, m_orden, m_ordenporquery, m_primero, m_procesacambios, m_sorting, m_tablename, Ui_SubForm3Base::mui_filaspagina, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_numfilas, Ui_SubForm3Base::mui_numpaginas, Ui_SubForm3Base::mui_paganterior, Ui_SubForm3Base::mui_paginaact, Ui_SubForm3Base::mui_pagsiguiente, Ui_SubForm3Base::mui_query, newSDBRecord(), nuevoRegistro(), cursor2::numregistros(), on_mui_confcol_clicked(), QTableWidget2::ordenar(), pintaCabeceras(), ponItemColorFondo(), cursor2::query(), SDBCampo::set(), QTableWidget2::setSortingEnabled(), cursor2::siguienteregistro(), QTableWidget2::sortItems(), TRUE, and DBCampo::valorcampo().
Referenced by SubForm2Bt::cargar(), cargar(), SubForm2Bf::cargar(), ProveedorListSubform::cargar(), PresupuestoListSubForm::cargar(), PedidosProveedorListSubform::cargar(), PedidosClienteListSubform::cargar(), ListTipoIVASubForm::cargar(), ListTasaIVASubForm::cargar(), ListSerieFacturaSubForm::cargar(), ListLinPresupuestoView::cargar(), ListLinPedidoProveedorView::cargar(), ListLinPedidoClienteView::cargar(), ListLinFacturaView::cargar(), ListLinFacturaProveedorView::cargar(), ListLinAlbaranProveedorView::cargar(), ListLinAlbaranClienteView::cargar(), ListDescuentoPresupuestoView::cargar(), ListDescuentoPedidoProveedorView::cargar(), ListDescuentoPedidoClienteView::cargar(), ListDescuentoFacturaView::cargar(), ListDescuentoFacturaProvView::cargar(), ListDescuentoAlbaranProvView::cargar(), ListDescuentoAlbaranClienteView::cargar(), ListAlmacenSubForm::cargar(), FacturasProveedorListSubform::cargar(), FacturasListSubform::cargar(), ListCompArticuloView::cargar(), AlbaranesProveedorListSubform::cargar(), AlbaranClienteListSubform::cargar(), MovimientosSubform::cargar(), TarifaListSubform::cargar(), InventariosSubForm::cargar(), ListLinContratoView::cargar(), FacturasContratoListSubForm::cargar(), RutaComercialListSubForm::cargar(), ListZonaComercialSubForm::cargar(), ListConfiguracionSubForm::cargar(), ListLinAsiento1View::cargar(), confquery(), Ficha_cargar(), ListTiposTrabajoView::ListTiposTrabajoView(), PaisView::mostrarplantilla(), on_mui_confquery_clicked(), ListControlStockView::pregenerar(), Listado::presentar(), and AlmacenesListView::presentar().
00992 { 00993 _depura("SubForm3::cargar", 0, objectName()); 00994 m_procesacambios = FALSE; 00995 00996 SDBRecord *reg; 00997 SDBRecord *reg2; 00998 SDBCampo *camp; 00999 SDBCampo *camp2; 01000 QColor colorfondo = m_colorfondo1; 01001 bool coloraponerfondo = FALSE; 01002 01004 mui_list->setSortingEnabled(FALSE); 01005 01007 for (int i = 0; i < m_lista.size(); ++i) { 01008 reg = m_lista.at(i); 01009 for (int j = 0; j < reg->lista()->size(); ++j) { 01010 SHeader *head = m_lcabecera.at(j); 01011 if (head->nomcampo() == m_columnaParaRowSpan) { 01012 mui_list->setSpan(i, j, 1, 1); 01013 } // end if 01014 } // end for 01015 } // end for 01016 01018 mui_list->clear(); 01019 mui_list->setRowCount(0); 01020 01022 SDBRecord *rec; 01023 while (m_lista.count()) { 01024 rec = m_lista.takeFirst(); 01025 if (rec) 01026 delete rec; 01027 } // end while 01028 01030 mui_list->setColumnCount(m_lcabecera.count()); 01031 pintaCabeceras(); 01032 if (m_primero) { 01033 cargaconfig(); 01034 } // end if 01035 01037 if (cur == NULL) return; 01038 01040 mui_query->setPlainText(cur->query()); 01041 01043 int filpag = mui_filaspagina->text().toInt(); 01044 if (filpag <= 0) { 01045 filpag = 500; 01046 } // end if 01047 01048 int pagact = mui_paginaact->text().toInt(); 01049 if (pagact <= 0) { 01050 pagact = 1; 01051 } // end if 01052 01054 mui_numfilas->setText(QString::number(cur->numregistros())); 01055 int numpag = cur->numregistros() / filpag + 1; 01056 mui_numpaginas->setText(QString::number(numpag)); 01057 01059 if (filpag == cur->numregistros()) { 01060 mui_pagsiguiente->setEnabled(TRUE); 01061 } else { 01062 mui_pagsiguiente->setDisabled(TRUE); 01063 } // end if 01064 01066 if (pagact == 1) { 01067 mui_paganterior->setDisabled(TRUE); 01068 } else { 01069 mui_paganterior->setEnabled(TRUE); 01070 } // end if 01071 01073 int porcentajecarga = 0; 01074 while (!cur->eof() && m_lista.count() < filpag) { 01075 SDBRecord *rec = newSDBRecord(); 01076 rec->DBload(cur); 01077 m_lista.append(rec); 01078 cur->siguienteregistro(); 01079 porcentajecarga++; 01080 } // end while 01081 01083 mui_list->setRowCount(m_lista.count()); 01084 for (int i = 0; i < m_lista.size(); ++i) { 01085 reg = m_lista.at(i); 01086 QRegExp patronFecha("^.*00:00:00.*$"); 01087 for (int j = 0; j < reg->lista()->size(); ++j) { 01088 camp = (SDBCampo *) reg->lista()->at(j); 01090 if (patronFecha.exactMatch(camp->valorcampo())) { 01091 camp->set 01092 (camp->valorcampo().left(10)); 01093 } // end if 01095 mui_list->setItem(i, j, camp); 01096 } // end for 01097 } // end for 01098 01100 QString textoCeldaAnterior; 01101 QString textoCeldaActual; 01102 01104 m_filaInicialRowSpan = -1; 01105 01107 for (int i = 0; i < m_lista.size(); ++i) { 01108 reg = m_lista.at(i); 01109 for (int j = 0; j < reg->lista()->size(); ++j) { 01110 SHeader *head = m_lcabecera.at(j); 01111 if (head->nomcampo() == m_columnaParaRowSpan) { 01112 camp = (SDBCampo *) reg->lista()->at(j); 01113 textoCeldaActual = camp->valorcampo(); 01115 if (i > 0) { 01116 reg2 = m_lista.at(i - 1); 01117 camp2 = (SDBCampo *) reg2->lista()->at(j); 01118 textoCeldaAnterior = camp2->valorcampo(); 01119 if (textoCeldaActual == textoCeldaAnterior) { 01121 if (m_filaInicialRowSpan == -1) { 01122 m_filaInicialRowSpan = i - 1; 01123 } // end if 01125 if (i == (m_lista.size() - 1)) { 01126 ponItemColorFondo(mui_list, m_filaInicialRowSpan, i - m_filaInicialRowSpan + 1, colorfondo); 01127 mui_list->setSpan(m_filaInicialRowSpan, j, i - m_filaInicialRowSpan + 1, 1); 01128 01129 if (coloraponerfondo == FALSE) { 01130 colorfondo = m_colorfondo2; 01131 coloraponerfondo = TRUE; 01132 } else { 01133 colorfondo = m_colorfondo1; 01134 coloraponerfondo = FALSE; 01135 } // end if 01136 01137 } // end if 01138 } else { 01140 if (m_filaInicialRowSpan != -1) { 01142 ponItemColorFondo(mui_list, m_filaInicialRowSpan, i - m_filaInicialRowSpan, colorfondo); 01143 mui_list->setSpan(m_filaInicialRowSpan, j, i - m_filaInicialRowSpan, 1); 01144 01145 if (coloraponerfondo == FALSE) { 01146 colorfondo = m_colorfondo2; 01147 coloraponerfondo = TRUE; 01148 } else { 01149 colorfondo = m_colorfondo1; 01150 coloraponerfondo = FALSE; 01151 } // end if 01152 } else { 01154 ponItemColorFondo(mui_list, i - 1, 1, colorfondo); 01155 if (coloraponerfondo == FALSE) { 01156 colorfondo = m_colorfondo2; 01157 coloraponerfondo = TRUE; 01158 } else { 01159 colorfondo = m_colorfondo1; 01160 coloraponerfondo = FALSE; 01161 } // end if 01162 } // end if 01163 m_filaInicialRowSpan = -1; 01164 } // end if 01165 } // end if 01166 } // end if 01167 } // end for 01168 } // end for 01169 01171 if (!m_ordenporquery) { 01172 if (m_orden) { 01174 for (int i = 0; i < m_lcabecera.size(); ++i) { 01175 if (m_lcabecera.at(i)->nomcampo() == "orden" + m_tablename) 01176 mui_list->sortItems(i); 01177 } // end for 01178 } else { 01181 mui_list->ordenar(); 01182 } // end if 01183 } // end if 01184 01186 nuevoRegistro(); 01187 01189 on_mui_confcol_clicked(); 01190 01192 mui_list->setSortingEnabled(m_sorting); 01193 01194 m_procesacambios = TRUE; 01195 01196 _depura("END SubForm3::cargar", 0); 01197 }
| void SubForm3::ponItemColorFondo | ( | QTableWidget * | twidget, | |
| int | filainicial, | |||
| int | totalfilas, | |||
| QColor | colorfondo | |||
| ) | [protected] |
| twidget | ||
| filainicial | ||
| totalfilas | ||
| colorfondo |
Si hay que poner color al fondo de las filas se pone el que toque.
Recorre todos los items de las filas afectadas.
Pone el color
Definition at line 970 of file subform3.cpp.
References FALSE, DBRecord::lista(), listadoPijama(), and m_lista.
Referenced by cargar().
00970 { 00971 SDBRecord *reg3; 00973 if (listadoPijama() == FALSE) { 00975 for (int k = filainicial; k < filainicial + totalfilas; ++k) { 00976 reg3 = m_lista.at(k); 00977 for (int r = 0; r < reg3->lista()->size(); ++r) { 00979 twidget->item(k, r)->setBackground(QBrush(colorfondo)); 00980 } // end for 00981 } // end for 00982 } // end if 00983 }
| void SubForm3::guardaconfig | ( | ) | [protected] |
Guardamos el archivo de configuracion.
Guarda la configuración de presentación del subformulario en el directorio .bulmages situado dentro del directorio 'home' del usuario.
Guardado del orden y de configuraciones varias.
Guardado del ancho de las columnas
Guarda la visibilidad de los elementos consultando la tabla de configuracion.
Definition at line 1687 of file subform3.cpp.
References _depura(), QTableWidget2::colorden(), CONF_DIR_USER, confpr, m_fileconfig, Ui_SubForm3Base::mui_filaspagina, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_listcolumnas, QTableWidget2::tipoorden(), and configuracion::valor().
Referenced by ~SubForm3().
01687 { 01688 _depura("SubForm3::guardaconfig", 0); 01689 QString aux = ""; 01690 QFile file(confpr->valor(CONF_DIR_USER) + m_fileconfig + "tablecfn.cfn"); 01692 if (file.open(QIODevice::WriteOnly)) { 01693 QTextStream stream(&file); 01694 stream << mui_list->colorden() << "\n"; 01695 stream << mui_list->tipoorden() << "\n"; 01696 stream << mui_filaspagina->text() << "\n"; 01697 01699 for (int i = 0; i < mui_list->columnCount(); i++) { 01700 mui_list->showColumn(i); 01701 stream << mui_list->columnWidth(i) << "\n"; 01702 } // end for 01703 01705 for (int i = 0; i < mui_listcolumnas->rowCount(); ++i) { 01706 if (mui_listcolumnas->item(i, 0)->checkState() == Qt::Checked) 01707 stream << "1" << "\n"; 01708 else 01709 stream << "0" << "\n"; 01710 } // end for 01711 file.close(); 01712 } // end if 01713 _depura("END SubForm3::guardaconfig", 0); 01714 }
| void SubForm3::cargaconfig | ( | ) | [protected] |
Carga la configuración que tenía el formulario la última vez que fue utilizado por el usuario.
Establecemos la columna de ordenación
Establecemos el tipo de ordenación
Establecemos el número de filas por página
Establecemos el ancho de las columnas.
Leemos el status de las columnas.
Si se ha producido algún error en la carga hacemos un maquetado automático.
Definition at line 1720 of file subform3.cpp.
References _depura(), CONF_DIR_USER, confpr, FALSE, m_fileconfig, m_primero, Ui_SubForm3Base::mui_filaspagina, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_listcolumnas, on_mui_confcol_clicked(), QTableWidget2::setcolorden(), QTableWidget2::settipoorden(), and configuracion::valor().
Referenced by cargar(), inicializar(), and pintar().
01720 { 01721 _depura("SubForm3::cargaconfig", 0); 01722 QFile file(confpr->valor(CONF_DIR_USER) + m_fileconfig + "tablecfn.cfn"); 01723 QString line; 01724 int error = 1; 01725 if (file.open(QIODevice::ReadOnly)) { 01726 error = 0; 01727 QTextStream stream(&file); 01729 QString linea = stream.readLine(); 01730 mui_list->setcolorden(linea.toInt()); 01731 01733 linea = stream.readLine(); 01734 mui_list->settipoorden(linea.toInt()); 01735 01737 linea = stream.readLine(); 01738 if (linea.toInt() > 0) { 01739 mui_filaspagina->setValue(linea.toInt()); 01740 } // end if 01741 01743 for (int i = 0; i < mui_list->columnCount(); i++) { 01744 linea = stream.readLine(); 01745 if (linea.toInt() > 0) { 01746 mui_list->setColumnWidth(i, linea.toInt()); 01747 } else { 01748 mui_list->setColumnWidth(i, 30); 01749 error = 1; 01750 } // end if 01751 } // end for 01752 01754 for (int i = 0; i < mui_listcolumnas->rowCount(); ++i) { 01755 linea = stream.readLine(); 01756 if (linea == "1") { 01757 mui_listcolumnas->item(i, 0)->setCheckState(Qt::Checked); 01758 } else if (linea == "0") { 01759 mui_listcolumnas->item(i, 0)->setCheckState(Qt::Unchecked); 01760 } else { 01761 error = 1; 01762 } // end if 01763 } // end for 01764 file.close(); 01765 on_mui_confcol_clicked(); 01766 } // end if 01767 01769 if (error) 01770 mui_list->resizeColumnsToContents(); 01771 01772 m_primero = FALSE; 01773 _depura("END SubForm3::cargaconfig", 0); 01774 }
| void SubForm3::cargaSpecs | ( | ) | [protected] |
Carga la configuración de especificaciones. Los specs son archivos en /etc/bulmages que suplen o Incrementan los campos presentados en un subformulario. Son utiles para hacer ampliaciones sin programacion.
Cogemos la coordenada X
try to convert the node to an element.
the node was really an element.
Definition at line 150 of file subform3.cpp.
References _depura(), addSHeader(), DBCampo::DBAuto, SHeader::DBBlockView, DBCampo::DBboolean, DBCampo::DBdate, DBCampo::DBDupPrimaryKey, DBCampo::DBint, DBCampo::DBNoLoad, SHeader::DBNone, DBCampo::DBNoSave, DBCampo::DBNothing, DBCampo::DBNotNull, SHeader::DBNoView, SHeader::DBNoWrite, DBCampo::DBnumeric, DBCampo::DBPrimaryKey, SHeader::DBReadOnly, DBCampo::DBRequired, DBCampo::DBvarchar, PEmpresaBase::empresaBase(), and m_fileconfig.
Referenced by setEmpresaBase().
00150 { 00151 _depura("SubForm3::cargaSpecs", 0 ); 00152 // QFile file(confpr->valor(CONF_DIR_USER) + m_fileconfig + "_" + empresaBase()->nameDB() + "_specs.spc"); 00153 QFile file("/etc/bulmages/" + m_fileconfig + "_" + empresaBase()->nameDB() + "_specs.spc"); 00154 QDomDocument doc("mydocument"); 00155 if (!file.open(QIODevice::ReadOnly)) 00156 return; 00157 if (!doc.setContent(&file)) { 00158 file.close(); 00159 return; 00160 } 00161 file.close(); 00162 00163 QDomElement docElem = doc.documentElement(); 00164 QDomElement principal = docElem.firstChildElement("SUBFORM"); 00166 QString tablename = principal.firstChildElement("TABLENAME").toElement().text(); 00167 QString campoid = principal.firstChildElement("CAMPOID").toElement().text(); 00168 00169 QDomNodeList nodos = docElem.elementsByTagName("HEADER"); 00170 for (int i = 0; i < nodos.count(); i++) { 00171 QDomNode ventana = nodos.item(i); 00172 QDomElement e1 = ventana.toElement(); 00173 if ( !e1.isNull() ) { 00174 DBCampo::dbtype type= DBCampo::DBvarchar; 00175 QString nomheader = e1.firstChildElement("NOMHEADER").toElement().text(); 00176 QString nompheader = e1.firstChildElement("NOMPHEADER").toElement().text(); 00177 QString typeheader = e1.firstChildElement("DBTYPEHEADER").toElement().text(); 00178 if (typeheader == "DBVARCHAR") { 00179 type = DBCampo::DBvarchar; 00180 } else if (typeheader == "DBINT") { 00181 type = DBCampo::DBint; 00182 } else if (typeheader == "DBNUMERIC") { 00183 type = DBCampo::DBnumeric; 00184 } else if (typeheader == "DBBOOLEAN") { 00185 type = DBCampo::DBboolean; 00186 } else if (typeheader == "DBDATE") { 00187 type = DBCampo::DBdate; 00188 } // end if 00189 00190 int restricciones = (int) DBCampo::DBNothing; 00191 QDomElement restrict = e1.firstChildElement("RESTRICTIONSHEADER"); 00192 while (!restrict.isNull()) { 00193 QString trestrict = restrict.text(); 00194 if (trestrict == "DBNOTHING") { 00195 restricciones |= DBCampo::DBvarchar; 00196 } else if (trestrict == "DBNOTNULL") { 00197 restricciones |= DBCampo::DBNotNull; 00198 } else if (trestrict == "DBPRIMARYKEY") { 00199 restricciones |= DBCampo::DBPrimaryKey; 00200 } else if (trestrict == "DBNOSAVE") { 00201 restricciones |= DBCampo::DBNoSave; 00202 } else if (trestrict == "DBAUTO") { 00203 restricciones |= DBCampo::DBAuto; 00204 } else if (trestrict == "DBAUTO") { 00205 restricciones |= DBCampo::DBAuto; 00206 } else if (trestrict == "DBDUPPRIMARYKEY") { 00207 restricciones |= DBCampo::DBDupPrimaryKey; 00208 } else if (trestrict == "DBREQUIRED") { 00209 restricciones |= DBCampo::DBRequired; 00210 } else if (trestrict == "DBNOLOAD") { 00211 restricciones |= DBCampo::DBNoLoad; 00212 } // end if 00213 restrict = restrict.nextSiblingElement("RESTRICTIONSHEADER"); 00214 } // end while 00215 00216 int opciones = (int) SHeader::DBNone; 00217 QDomElement opci = e1.firstChildElement("OPTIONSHEADER"); 00218 while (!opci.isNull()) { 00219 QString topci = opci.text(); 00220 if (topci == "DBNONE") { 00221 opciones |= SHeader::DBNone; 00222 } else if (topci == "DBREADONLY") { 00223 opciones |= SHeader::DBReadOnly; 00224 } else if (topci == "DBNOVIEW") { 00225 opciones |= SHeader::DBNoView; 00226 } else if (topci == "DBNOWRITE") { 00227 opciones |= SHeader::DBNoWrite; 00228 } else if (topci == "DBBLOCKVIEW") { 00229 opciones |= SHeader::DBBlockView; 00230 } // end if 00231 opci = opci.nextSiblingElement("OPTIONSHEADER"); 00232 } // end while 00233 00234 addSHeader(nomheader, type, (DBCampo::dbrestrict) restricciones, (SHeader::dboptions) opciones, nompheader); 00235 } // end if 00236 } // end for 00237 00238 _depura("END SubForm3::cargaSpecs", 0); 00239 }
| void SubForm3::pintaCabeceras | ( | ) | [protected, virtual] |
Pinta las cabeceras en la tabla.
Prepara las columnas de la tabla del formulario y pone en ella los encabezados.
Definition at line 773 of file subform3.cpp.
References _depura(), SHeader::DBNoView, m_lcabecera, Ui_SubForm3Base::mui_list, SHeader::nompresentacion(), and SHeader::options().
Referenced by cargar(), inicializar(), and pintar().
00773 { 00774 _depura("SubForm3::pintaCabeceras", 0); 00775 QStringList headers; 00776 SHeader *linea; 00777 for (int i = 0; i < m_lcabecera.size(); ++i) { 00778 linea = m_lcabecera.at(i); 00779 headers << linea->nompresentacion(); 00780 if (linea->options() & SHeader::DBNoView) { 00781 mui_list->hideColumn(i); 00782 } else { 00783 mui_list->showColumn(i); 00784 } // end if 00785 } // end for 00786 mui_list->setHorizontalHeaderLabels(headers); 00787 mui_list->horizontalHeader()->setResizeMode(0, QHeaderView::Interactive); 00788 _depura("END SubForm3::pintaCabeceras", 0); 00789 }
| QList< SDBRecord * > * SubForm3::lista | ( | ) |
Devuelve la lista de registros de la base de datos que se presentan en el subformulario.
Definition at line 246 of file subform3.cpp.
References _depura(), and m_lista.
Referenced by EFQToolButtonImportar::importa_factura_ubl(), and AmortizacionView::on_mui_btcalcular_clicked().
00246 { 00247 _depura("SubForm3::lista", 0); 00248 return &m_lista; 00249 _depura("END SubForm3::lista", 0); 00250 }
| QList< SHeader * > * SubForm3::cabecera | ( | ) |
Devuelve la lista de cabeceras que forman el subformulario.
Definition at line 257 of file subform3.cpp.
References _depura(), and m_lcabecera.
Referenced by QSubForm2BtDelegate::createEditor(), QSubForm2BfDelegate::createEditor(), QSubForm3BfDelegate::createEditor(), QSubForm2BcDelegate::createEditor(), extractoview1::on_mui_list_cellDoubleClicked(), QSubForm2BtDelegate::setEditorData(), QSubForm2BfDelegate::setEditorData(), QSubForm3BfDelegate::setEditorData(), QSubForm2BcDelegate::setEditorData(), QSubForm2BtDelegate::setModelData(), QSubForm2BfDelegate::setModelData(), QSubForm3BfDelegate::setModelData(), and QSubForm2BcDelegate::setModelData().
00257 { 00258 _depura("SubForm3::cabecera", 0); 00259 return &m_lcabecera; 00260 _depura("END SubForm3::cabecera", 0); 00261 }
| void SubForm3::setEmpresaBase | ( | EmpresaBase * | emp | ) | [virtual] |
| emp |
Reimplemented from PEmpresaBase.
Reimplemented in SubForm2Bc, SubForm2Bf, and SubForm2Bt.
Definition at line 139 of file subform3.cpp.
References _depura(), cargaSpecs(), and PEmpresaBase::setEmpresaBase().
Referenced by AlmacenesListView::AlmacenesListView(), ListTiposTrabajoView::ListTiposTrabajoView(), PaisView::PaisView(), SubForm2Bt::setEmpresaBase(), SubForm2Bf::setEmpresaBase(), and AlmacenesListView::setEmpresaBase().
00139 { 00140 _depura("PEmpresaBase::setEmpresaBase", 0); 00141 PEmpresaBase::setEmpresaBase(emp); 00142 cargaSpecs(); 00143 _depura("END PEmpresaBase::setEmpresaBase", 0); 00144 }
| void SubForm3::setProcesarCambios | ( | bool | proc | ) |
Establece si el subformulario debe considerar y tratar los cambios de celdas.
| proc |
Definition at line 2153 of file subform3.cpp.
References _depura(), and m_procesacambios.
Referenced by AlbaranClienteView::agregarFactura(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), and PresupuestoView::generarPedidoCliente().
02153 { 02154 _depura("SubForm3::setProcesarCambios", 0); 02155 m_procesacambios = proc; 02156 _depura("END SubForm3::setProcesarCambios", 0); 02157 }
| bool SubForm3::procesaCambios | ( | ) |
Indica si el subformulario esta considerando el tratamiento de celdas modificadas.
Definition at line 2164 of file subform3.cpp.
References _depura(), and m_procesacambios.
02164 { 02165 _depura("SubForm3::procesaCambios", 0); 02166 _depura("END SubForm3::procesaCambios", 0); 02167 return m_procesacambios; 02168 }
| void SubForm3::setListadoPijama | ( | bool | pijama | ) |
Define si el listado presentará las filas con colores alternativos.
| pijama |
Definition at line 571 of file subform3.cpp.
References _depura(), FALSE, Ui_SubForm3Base::mui_list, and TRUE.
Referenced by DiarioSubForm::DiarioSubForm(), and SubForm3().
00571 { 00572 _depura("SubForm3::setListadoPijama", 0); 00573 if (pijama) { 00574 mui_list->setAlternatingRowColors(TRUE); 00575 } else { 00576 mui_list->setAlternatingRowColors(FALSE); 00577 } // end if 00578 _depura("END SubForm3::setListadoPijama", 0); 00579 }
| bool SubForm3::listadoPijama | ( | ) |
Definition at line 586 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by ponItemColorFondo().
00586 { 00587 _depura("SubForm3::listadoPijama", 0); 00588 return mui_list->alternatingRowColors(); 00589 _depura("END SubForm3::listadoPijama", 0); 00590 }
| void SubForm3::setHorizontalScrollMode | ( | QAbstractItemView::ScrollMode | mode | ) |
Establece el modo de funcionamiento del scroll horizontal.
| mode |
Definition at line 268 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by Ui_ListTipoIVABase::setupUi(), Ui_ListTasaIVABase::setupUi(), Ui_ListTiposTrabajoBase::setupUi(), and Ui_ListAlmacenBase::setupUi().
00268 { 00269 _depura("SubForm3::setHorizontalScrollMode", 0); 00270 mui_list->setHorizontalScrollMode(mode); 00271 _depura("END SubForm3::setHorizontalScrollMode", 0); 00272 }
| void SubForm3::setColorFondo1 | ( | QString | color | ) |
Establece los colores para dibujar el fondo de las filas. Si la propiedad 'alternatingRowColors' está en TRUE entonces de usan los dos colores, si está en FALSE sólo se usa 'ColorFondo1'. Estos valores corresponden a QPalette::Base y QPalette::AlternateBase.
Definition at line 945 of file subform3.cpp.
References _depura(), and m_colorfondo1.
Referenced by DiarioSubForm::DiarioSubForm().
00945 { 00946 _depura("SubForm3::setColorFondo1", 0); 00947 m_colorfondo1 = QColor(color); 00948 _depura("END SubForm3::setColorFondo1", 0); 00949 }
| void SubForm3::setColorFondo2 | ( | QString | color | ) |
| color |
Definition at line 956 of file subform3.cpp.
References _depura(), and m_colorfondo2.
Referenced by DiarioSubForm::DiarioSubForm().
00956 { 00957 _depura("SubForm3::setColorFondo2", 0); 00958 m_colorfondo2 = QColor(color); 00959 _depura("END SubForm3::setColorFondo1", 0); 00960 }
| void SubForm3::setSortingEnabled | ( | bool | sorting | ) |
Establece que los elementos del subformulario son ordenables.
| sorting |
Definition at line 598 of file subform3.cpp.
References _depura(), m_sorting, Ui_SubForm3Base::mui_list, and QTableWidget2::setSortingEnabled().
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), ClienteListSubform::ClienteListSubform(), CobrosListSubForm::CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), MovimientosSubform::MovimientosSubform(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), PresupuestoListSubForm::PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), Ui_AsientoListBase::setupUi(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), ZList::ZList(), and ZView::ZView().
00598 { 00599 _depura("SubForm3::setSortingEnabled", 0); 00600 mui_list->setSortingEnabled(sorting); 00601 m_sorting = sorting; 00602 _depura("END SubForm3::setSortingEnabled", 0); 00603 }
| bool SubForm3::sortingEnabled | ( | ) |
| void SubForm3::setOrdenEnabled | ( | bool | ) |
Establece si el subformulario se ordena mediante un campo orden en la base de datos.
Establece en el subformulario un modo de funcionamiento mediante el cual el orden de los elementos se almacena en la base de datos mediante un campo orden"tabla" de tipo numérico.
Definition at line 621 of file subform3.cpp.
References _depura(), and m_orden.
Referenced by AmortizacionView::AmortizacionView(), ccosteview::ccosteview(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), ListCompArticuloView::ListCompArticuloView(), ListLinAlbaranClienteView::ListLinAlbaranClienteView(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), ListLinAsiento1View::ListLinAsiento1View(), ListLinContratoView::ListLinContratoView(), ListLinFacturaProveedorView::ListLinFacturaProveedorView(), ListLinFacturaView::ListLinFacturaView(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), and ProyectoView::ProyectoView().
00621 { 00622 _depura("SubForm3::setOrdenEnabled", 0); 00623 m_orden = sorting; 00624 _depura("END SubForm3::setOrdenEnabled", 0); 00625 }
| void SubForm3::setOrdenPorQuery | ( | bool | ordenactivado | ) |
| ordenactivado |
Definition at line 1204 of file subform3.cpp.
References _depura(), and m_ordenporquery.
Referenced by AsientoListSubform::AsientoListSubform(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), and ProyectoView::ProyectoView().
01204 { 01205 _depura("SubForm3::setOrdenPorQuery", 0); 01206 m_ordenporquery = ordenactivado; 01207 _depura("END SubForm3::setOrdenPorQuery", 0); 01208 }
| bool SubForm3::ordenEnabled | ( | ) |
| bool SubForm3::campoCompleto | ( | int | row | ) |
Devuelve TRUE si el registro ha sido completamente rellenado.
Indica si una fila determinada del subformulario esta lista para intentar ser guardada en la base de datos. O lo que es lo mismo si todos los campos necesarios para guardar el registro están rellenados
Sacamos celda a celda toda la fila
Si el dato no es valido se sale
Definition at line 1293 of file subform3.cpp.
References _depura(), DBCampo::DBboolean, DBCampo::DBNotNull, SHeader::DBNoView, DBCampo::DBRequired, FALSE, m_lcabecera, Ui_SubForm3Base::mui_list, SHeader::options(), DBCampo::restrictcampo(), DBCampo::tipo(), and TRUE.
Referenced by guardar(), and on_mui_list_cellRePosition().
01293 { 01294 _depura("SubForm3::campoCompleto", 0); 01295 SDBCampo *camp; 01296 SHeader *header; 01298 for (int i = 0; i < mui_list->columnCount(); i++) { 01299 camp = (SDBCampo *) mui_list->item(row, i); 01300 01302 if (!camp) return FALSE; 01303 01304 header = m_lcabecera.at(i); 01305 if (camp->restrictcampo() & DBCampo::DBNotNull 01306 && camp->text() == "" 01307 && !(header->options() & SHeader::DBNoView) 01308 && camp->tipo() != DBCampo::DBboolean) { 01309 _depura("SubForm3::campoCompleto", 0, "El campo no es completo."); 01310 return FALSE; 01311 } // end if 01312 if (camp->restrictcampo() & DBCampo::DBRequired 01313 && camp->text() == "") { 01314 _depura("SubForm3::campoCompleto", 0, "El campo no es completo."); 01315 return FALSE; 01316 } // end if 01317 01318 } // end for 01319 _depura("END SubForm3::campoCompleto", 0); 01320 return TRUE; 01321 }
| void SubForm3::setDelete | ( | bool | f | ) |
Establece el modo de borrado de registros que permite al subformulario borrar filas con su correspondiente borrado en la base de datos.
Definition at line 279 of file subform3.cpp.
References _depura(), and m_delete.
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), AsientoListSubform::AsientoListSubform(), ClienteListSubform::ClienteListSubform(), CobrosListSubForm::CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), ListConfiguracionSubForm::ListConfiguracionSubForm(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), MovimientosSubform::MovimientosSubform(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), PresupuestoListSubForm::PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), SubForm2Bf::SubForm2Bf(), SubForm2Bt::SubForm2Bt(), SubForm3(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), ZList::ZList(), and ZView::ZView().
00279 { 00280 _depura("SubForm3::setDelete", 0); 00281 m_delete = f; 00282 _depura("END SubForm3::setDelete", 0); 00283 }
| SDBCampo * SubForm3::item | ( | int | row, | |
| int | col | |||
| ) |
Devuelve el elemento del subformulario ubicado en la posición indicada
Definition at line 292 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by Asiento1View::asientoabiertop(), Asiento1View::asientocerradop(), ListCompArticuloView::editFinished(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), on_mui_list_cellRePosition(), on_mui_list_itemClicked(), on_mui_list_itemDoubleClicked(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), SubForm2Bf::on_mui_list_pressedMinus(), SubForm2Bt::on_mui_list_pressedSlash(), SubForm2Bf::on_mui_list_pressedSlash(), SubForm2Bc::on_mui_list_pressedSlash(), ListCompArticuloView::pressedAsterisk(), setCurrentItem(), and SubForm2Bf_on_mui_list_editFinished().
00292 { 00293 _depura("SubForm3::item", 0); 00294 _depura("END SubForm3::item", 0); 00295 return (SDBCampo *) mui_list->item(row, col); 00296 }
| void SubForm3::setCurrentItem | ( | int | row, | |
| int | col | |||
| ) |
Pone el foco en una celda determinada.
| row | ||
| col |
Definition at line 304 of file subform3.cpp.
References _depura(), item(), and Ui_SubForm3Base::mui_list.
00304 { 00305 _depura("SubForm3::setCurrentItem", 0); 00306 mui_list->setCurrentItem( item(row, col)); 00307 _depura("END SubForm3::setCurrentItem", 0); 00308 }
| int SubForm3::columnCount | ( | ) |
Devuelve el número total de columnas del subformulario.
Definition at line 315 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by Asiento1View::asientoabiertop(), and Asiento1View::asientocerradop().
00315 { 00316 _depura("SubForm3::columnCount", 0); 00317 return mui_list->columnCount(); 00318 _depura("END SubForm3::columnCount", 0); 00319 }
| void SubForm3::showColumn | ( | int | i | ) |
Muestra la columna indicada en el subformulario.
| i |
Definition at line 326 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00326 { 00327 _depura("SubForm3::showColumn", 0); 00328 mui_list->showColumn(i); 00329 _depura("END SubForm3::showColumn", 0); 00330 }
| int SubForm3::columnWidth | ( | int | i | ) |
Devuelve el ancho de la columna indicada.
| i |
Definition at line 338 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00338 { 00339 _depura("SubForm3::columnWidth", 0); 00340 _depura("END SubForm3::columnWidth", 0); 00341 return mui_list->columnWidth(i); 00342 }
| void SubForm3::setColumnWidth | ( | int | i, | |
| int | j | |||
| ) |
Establece el ancho de la columna indicada.
| i | ||
| j |
Definition at line 350 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00350 { 00351 _depura("SubForm3::setColumnWidth", 0); 00352 mui_list->setColumnWidth(i, j); 00353 _depura("END SubForm3::setColumnWidth", 0); 00354 }
| void SubForm3::hideColumn | ( | int | i | ) |
Oculta la columna indicada.
| i |
Definition at line 361 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00361 { 00362 _depura("SubForm3::hideColumn", 0); 00363 mui_list->hideColumn(i); 00364 _depura("END SubForm3::hideColumn", 0); 00365 }
| int SubForm3::currentRow | ( | ) |
Devuelve la fila que en la actualidad posee el foco en el subformulario.
Definition at line 372 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by PresupuestoList::borrar(), PedidosProveedorList::borrar(), PedidosClienteList::borrar(), PagosList::borrar(), FacturasProveedorList::borrar(), FacturasList::borrar(), CobrosList::borrar(), ArticuloList::borrar(), AlbaranesProveedor::borrar(), AlbaranClienteList::borrar(), AlmacenesListView::borrar(), contextMenuEvent(), BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), InventariosView::on_mui_borrar2_clicked(), TarifaListView::on_mui_borrar_clicked(), Listado::on_mui_editar_clicked(), TarifaListView::on_mui_editar_clicked(), InventariosView::on_mui_editar_clicked(), ContratosList::on_mui_editar_clicked(), ContratoView::on_subform2_itemDoubleClicked(), SubForm2Bf_on_mui_list_editFinished(), Listado::submenu(), CobrosList::submenu(), ClientsList::submenu(), and ArticuloList::submenu().
00372 { 00373 _depura("SubForm3::currentRow", 0); 00374 _depura("END SubForm3::currentRow", 0); 00375 return mui_list->currentRow(); 00376 }
| int SubForm3::rowCount | ( | ) |
Devuelve el número de filas en el subformulario.
Definition at line 383 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by AlbaranClienteView::agregarFactura(), Asiento1View::asientoabiertop(), Asiento1View::asientocerradop(), borrar(), FichaBf::calculaypintatotales(), TicketQToolButton::click(), Q19QToolButton::click(), EmailQToolButton::click(), SelQToolButton::click(), ImpQToolButton::click(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), FacturaView::on_mui_agregaralbaran_clicked(), ContratoView::on_mui_facturar_clicked(), RegistroIvaView::on_mui_generarPrevisiones_clicked(), myplugclipboard::pegaODS(), myplugclipboard::pegaSXC(), cobropagoview::s_recalculaSaldo(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), FichaBf::trataLineasDescuento(), FichaBf::trataLineasDetalle(), FichaBf::trataTags(), and FichaBf::trataTotales().
00383 { 00384 _depura("SubForm3::rowCount", 0); 00385 _depura("END SubForm3::rowCount", 0); 00386 return mui_list->rowCount(); 00387 }
| int SubForm3::currentColumn | ( | ) |
Devuelve la columna que en la actualidad posee el foco del subformulario.
Definition at line 394 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), and SubForm2Bf_on_mui_list_editFinished().
00394 { 00395 _depura("SubForm3::currentColumn", 0); 00396 return mui_list->currentColumn(); 00397 _depura("END SubForm3::currentColumn", 0); 00398 }
| void SubForm3::setResizeMode | ( | QHeaderView::ResizeMode | modo | ) |
Establece la forma de redimensionado de las columnas del subformulario.
| modo |
Definition at line 405 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00405 { 00406 _depura("SubForm3::setResizeMode", 0); 00407 mui_list->horizontalHeader()->setResizeMode(modo); 00408 _depura("END SubForm3::setResizeMode", 0); 00409 }
| void SubForm3::resizeColumnsToContents | ( | ) |
Redimensiona las columnas del subformulario para ajustarlas a los contenidos.
Definition at line 415 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), and AsientoListSubform::contextMenuEvent().
00415 { 00416 _depura("SubForm3::resizeColumnsToContents", 0); 00417 mui_list->resizeColumnsToContents(); 00418 _depura("END SubForm3::resizeColumnsToContents", 0); 00419 }
| void SubForm3::resizeRowsToContents | ( | ) |
Redimensiona las filas del subformulario para ajustarlas a los contenidos.
Definition at line 425 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), and AsientoListSubform::contextMenuEvent().
00425 { 00426 _depura("SubForm3::resizeRowsToContents", 0); 00427 mui_list->resizeRowsToContents(); 00428 _depura("END SubForm3::resizeRowsToContents", 0); 00429 }
| void SubForm3::resizeColumnToContents | ( | int | i | ) |
Redimensiona las columnas del subformulario para ajustarlas a los contenidos.
| i |
Definition at line 436 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), and AsientoListSubform::contextMenuEvent().
00436 { 00437 _depura("SubForm3::resizeColumnToContents", 0); 00438 mui_list->resizeColumnToContents(i); 00439 _depura("END SubForm3::resizeColumnToContents", 0); 00440 }
| void SubForm3::resizeRowToContents | ( | int | i | ) |
Ajusta la fila indicada a sus contenidos.
| i |
Definition at line 447 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), and AsientoListSubform::contextMenuEvent().
00447 { 00448 _depura("SubForm3::resizeRowToContents", 0); 00449 mui_list->resizeRowToContents(i); 00450 _depura("END SubForm3::resizeRowToContents", 0); 00451 }
| void SubForm3::hideConfig | ( | ) |
Oculta el configurador del subformulario.
Definition at line 457 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_configurador.
Referenced by Listado::on_mui_configurar_toggled(), MovimientosView::on_mui_configurar_toggled(), ContratosList::on_mui_configurar_toggled(), and SubForm3().
00457 { 00458 _depura("SubForm3::hideConfig", 0); 00459 mui_configurador->hide(); 00460 _depura("END SubForm3::hideConfig", 0); 00461 }
| void SubForm3::showConfig | ( | ) |
Muestra el configurador del subformulario.
Definition at line 467 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_configurador.
Referenced by BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), extractoview1::on_mui_configurar_clicked(), DiarioView::on_mui_configurar_clicked(), Listado::on_mui_configurar_toggled(), MovimientosView::on_mui_configurar_toggled(), and ContratosList::on_mui_configurar_toggled().
00467 { 00468 _depura("SubForm3::showConfig", 0); 00469 mui_configurador->show(); 00470 _depura("END SubForm3::showConfig", 0); 00471 }
| QString SubForm3::imprimir | ( | ) |
Hace la impresion del subformulario en formato de tabla RML.
Definition at line 1828 of file subform3.cpp.
References _depura(), Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_listcolumnas, and XMLProtect().
Referenced by RutaComercialList::imprimir(), and imprimirPDF().
01828 { 01829 _depura("SubForm3::imprimir", 0); 01830 QString fitxersortidarml = "<tr>\n"; 01831 for (int h = 0; h < mui_listcolumnas->rowCount(); ++h) { 01832 if (mui_listcolumnas->item(h, 0)->checkState() == Qt::Checked) { 01833 fitxersortidarml += " <td>" + XMLProtect(mui_listcolumnas->item(h, 2)->text()) + "</td>\n"; 01834 } // end if 01835 } // end for 01836 fitxersortidarml += "</tr>\n"; 01837 for (int i = 0; i < mui_list->rowCount(); ++i) { 01838 fitxersortidarml += "<tr>\n"; 01839 for (int j = 0; j < mui_listcolumnas->rowCount(); ++j) { 01840 if (mui_listcolumnas->item(j, 0)->checkState() == Qt::Checked) { 01841 QString restante; 01842 fitxersortidarml += " <td>" + XMLProtect(mui_list->item(i, j)->text()) + "</td>\n"; 01843 } // end if 01844 } // end for 01845 fitxersortidarml += "</tr>\n"; 01846 } // end for 01847 _depura("END SubForm3::imprimir", 0); 01848 return fitxersortidarml; 01849 }
| void SubForm3::sortItems | ( | int | col, | |
| Qt::SortOrder | orden | |||
| ) |
| void SubForm3::setinsercion | ( | bool | b | ) |
| b |
Definition at line 2142 of file subform3.cpp.
References _depura(), and m_insercion.
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), AmortizacionesView::AmortizacionesView(), AmortizacionView::AmortizacionView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), Asiento1View::asientoabiertop(), Asiento1View::asientocerradop(), AsientoListSubform::AsientoListSubform(), BalanceSubForm::BalanceSubForm(), ccosteview::ccosteview(), ClienteListSubform::ClienteListSubform(), cobropagoview::cobropagoview(), CobrosListSubForm::CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), EFQToolButtonImportar::importa_factura_ubl(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), ListAlmacenSubForm::ListAlmacenSubForm(), ListCompArticuloView::ListCompArticuloView(), ListConfiguracionSubForm::ListConfiguracionSubForm(), ListControlStockView::ListControlStockView(), ListDescuentoAlbaranClienteView::ListDescuentoAlbaranClienteView(), ListDescuentoAlbaranProvView::ListDescuentoAlbaranProvView(), ListDescuentoFacturaProvView::ListDescuentoFacturaProvView(), ListDescuentoFacturaView::ListDescuentoFacturaView(), ListDescuentoPedidoClienteView::ListDescuentoPedidoClienteView(), ListDescuentoPedidoProveedorView::ListDescuentoPedidoProveedorView(), ListDescuentoPresupuestoView::ListDescuentoPresupuestoView(), ListLinAlbaranClienteView::ListLinAlbaranClienteView(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), ListLinAsiento1View::ListLinAsiento1View(), ListLinContratoView::ListLinContratoView(), ListLinFacturaProveedorView::ListLinFacturaProveedorView(), ListLinFacturaView::ListLinFacturaView(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), ListLTarifaView::ListLTarifaView(), ListLTarifaView1::ListLTarifaView1(), ListProyectosView::ListProyectosView(), ListRegistroIvaView::ListRegistroIvaView(), ListSerieFacturaSubForm::ListSerieFacturaSubForm(), ListTasaIVASubForm::ListTasaIVASubForm(), ListTipoIVASubForm::ListTipoIVASubForm(), ListTiposTrabajoView::ListTiposTrabajoView(), ListZonaComercialSubForm::ListZonaComercialSubForm(), MovimientosSubform::MovimientosSubform(), AmortizacionView::on_mui_btcalcular_clicked(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), PresupuestoListSubForm::PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), ProyectoView::ProyectoView(), RegistroIvaView::RegistroIvaView(), RutaComercialListSubForm::RutaComercialListSubForm(), TarifaListSubform::TarifaListSubform(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), VehiculoView::VehiculoView(), ZList::ZList(), and ZView::ZView().
02142 { 02143 _depura("SubForm3::setinsercion", 0); 02144 m_insercion = b; 02145 _depura("END SubForm3::setinsercion", 0); 02146 }
| void SubForm3::setColumnToRowSpan | ( | QString | campo | ) |
Define que campo se utilizará para unir las filas que tengan el mismo texto (rowSpan). Es útil en contabilidad para unir filas del mismo asiento.
Definition at line 934 of file subform3.cpp.
References _depura(), and m_columnaParaRowSpan.
Referenced by DiarioSubForm::DiarioSubForm().
00934 { 00935 _depura("SubForm3::setColumnToRowSpan", 0); 00936 m_columnaParaRowSpan = campo; 00937 _depura("END SubForm3::setColumnToRowSpan", 0); 00938 }
| void SubForm3::setDBTableName | ( | QString | nom | ) |
| nom |
Definition at line 478 of file subform3.cpp.
References _depura(), m_fileconfig, and m_tablename.
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), AmortizacionesView::AmortizacionesView(), AmortizacionView::AmortizacionView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), AsientoListSubform::AsientoListSubform(), BalanceSubForm::BalanceSubForm(), ccosteview::ccosteview(), ClienteListSubform::ClienteListSubform(), cobropagoview::cobropagoview(), CobrosListSubForm::CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), ListAlmacenSubForm::ListAlmacenSubForm(), ListCompArticuloView::ListCompArticuloView(), ListConfiguracionSubForm::ListConfiguracionSubForm(), ListControlStockView::ListControlStockView(), ListDescuentoAlbaranClienteView::ListDescuentoAlbaranClienteView(), ListDescuentoAlbaranProvView::ListDescuentoAlbaranProvView(), ListDescuentoFacturaProvView::ListDescuentoFacturaProvView(), ListDescuentoFacturaView::ListDescuentoFacturaView(), ListDescuentoPedidoClienteView::ListDescuentoPedidoClienteView(), ListDescuentoPedidoProveedorView::ListDescuentoPedidoProveedorView(), ListDescuentoPresupuestoView::ListDescuentoPresupuestoView(), ListLinAlbaranClienteView::ListLinAlbaranClienteView(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), ListLinAsiento1View::ListLinAsiento1View(), ListLinContratoView::ListLinContratoView(), ListLinFacturaProveedorView::ListLinFacturaProveedorView(), ListLinFacturaView::ListLinFacturaView(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), ListLTarifaView::ListLTarifaView(), ListLTarifaView1::ListLTarifaView1(), ListProyectosView::ListProyectosView(), ListRegistroIvaView::ListRegistroIvaView(), ListSerieFacturaSubForm::ListSerieFacturaSubForm(), ListTasaIVASubForm::ListTasaIVASubForm(), ListTipoIVASubForm::ListTipoIVASubForm(), ListTiposTrabajoView::ListTiposTrabajoView(), ListZonaComercialSubForm::ListZonaComercialSubForm(), MovimientosSubform::MovimientosSubform(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), DiarioView::presentar(), PresupuestoListSubForm::PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), ProyectoView::ProyectoView(), RegistroIvaView::RegistroIvaView(), RutaComercialListSubForm::RutaComercialListSubForm(), TarifaListSubform::TarifaListSubform(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), VehiculoView::VehiculoView(), ZList::ZList(), and ZView::ZView().
00478 { 00479 _depura("SubForm3::setDBTableName", 0); 00480 m_tablename = nom; 00481 m_fileconfig = nom; 00482 _depura("END SubForm3::setDBTableName", 0); 00483 }
| QString SubForm3::tableName | ( | ) |
Definition at line 490 of file subform3.cpp.
References _depura(), and m_tablename.
Referenced by FichaBf::calculaypintatotales(), QSubForm2BtDelegate::createEditor(), QSubForm2BfDelegate::createEditor(), FichaBf::generaRML(), Listado::presentar(), QSubForm2BtDelegate::setEditorData(), QSubForm2BfDelegate::setEditorData(), QSubForm2BtDelegate::setModelData(), QSubForm2BfDelegate::setModelData(), SubForm2Bf_on_mui_list_editFinished(), FichaBf::trataLineasDescuento(), FichaBf::trataLineasDetalle(), and FichaBf::trataTotales().
00490 { 00491 _depura("SubForm3::tableName", 0); 00492 _depura("END SubForm3::tableName", 0); 00493 return m_tablename; 00494 }
| void SubForm3::setFileConfig | ( | QString | nom | ) |
| nom |
Definition at line 501 of file subform3.cpp.
References _depura(), and m_fileconfig.
Referenced by AmortizacionesView::AmortizacionesView(), AsientoListSubform::AsientoListSubform(), BalanceSubForm::BalanceSubForm(), ccosteview::ccosteview(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), FacturasContratoListSubForm::FacturasContratoListSubForm(), and ListLinAsiento1View::ListLinAsiento1View().
00501 { 00502 _depura("SubForm3::setFileConfig", 0); 00503 m_fileconfig = nom; 00504 _depura("END SubForm3::setFileConfig", 0); 00505 }
| void SubForm3::setDBCampoId | ( | QString | nom | ) |
| nom |
Definition at line 512 of file subform3.cpp.
References _depura(), and m_campoid.
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), AmortizacionesView::AmortizacionesView(), AmortizacionView::AmortizacionView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), AsientoListSubform::AsientoListSubform(), BalanceSubForm::BalanceSubForm(), ccosteview::ccosteview(), ClienteListSubform::ClienteListSubform(), cobropagoview::cobropagoview(), CobrosListSubForm::CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), ListAlmacenSubForm::ListAlmacenSubForm(), ListCompArticuloView::ListCompArticuloView(), ListConfiguracionSubForm::ListConfiguracionSubForm(), ListControlStockView::ListControlStockView(), ListDescuentoAlbaranClienteView::ListDescuentoAlbaranClienteView(), ListDescuentoAlbaranProvView::ListDescuentoAlbaranProvView(), ListDescuentoFacturaProvView::ListDescuentoFacturaProvView(), ListDescuentoFacturaView::ListDescuentoFacturaView(), ListDescuentoPedidoClienteView::ListDescuentoPedidoClienteView(), ListDescuentoPedidoProveedorView::ListDescuentoPedidoProveedorView(), ListDescuentoPresupuestoView::ListDescuentoPresupuestoView(), ListLinAlbaranClienteView::ListLinAlbaranClienteView(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), ListLinAsiento1View::ListLinAsiento1View(), ListLinContratoView::ListLinContratoView(), ListLinFacturaProveedorView::ListLinFacturaProveedorView(), ListLinFacturaView::ListLinFacturaView(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), ListLTarifaView::ListLTarifaView(), ListLTarifaView1::ListLTarifaView1(), ListProyectosView::ListProyectosView(), ListRegistroIvaView::ListRegistroIvaView(), ListSerieFacturaSubForm::ListSerieFacturaSubForm(), ListTasaIVASubForm::ListTasaIVASubForm(), ListTipoIVASubForm::ListTipoIVASubForm(), ListTiposTrabajoView::ListTiposTrabajoView(), ListZonaComercialSubForm::ListZonaComercialSubForm(), MovimientosSubform::MovimientosSubform(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), DiarioView::presentar(), PresupuestoListSubForm::PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), ProyectoView::ProyectoView(), RegistroIvaView::RegistroIvaView(), RutaComercialListSubForm::RutaComercialListSubForm(), TarifaListSubform::TarifaListSubform(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), VehiculoView::VehiculoView(), ZList::ZList(), and ZView::ZView().
00512 { 00513 _depura("SubForm3::setDBCampoId", 0); 00514 m_campoid = nom; 00515 _depura("END SubForm3::setDBCampoId", 0); 00516 }
| void SubForm3::clear | ( | ) |
Definition at line 522 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
00522 { 00523 _depura("SubForm3::clear", 0); 00524 mui_list->clear(); 00525 _depura("END SubForm3::clear", 0); 00526 }
| void SubForm3::setRowCount | ( | int | i | ) |
| i |
Definition at line 533 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by Asiento1::vaciar().
00533 { 00534 _depura("SubForm3::setRowCount", 0); 00535 mui_list->setRowCount(i); 00536 _depura("END SubForm3::setRowCount", 0); 00537 }
| void SubForm3::setColumnCount | ( | int | i | ) |
| i |
Definition at line 544 of file subform3.cpp.
References _depura(), and Ui_SubForm3Base::mui_list.
Referenced by Asiento1::vaciar().
00544 { 00545 _depura("SubForm3::setColumnCount", 0); 00546 mui_list->setColumnCount(i); 00547 _depura("END SubForm3::setColumnCount", 0); 00548 }
| void SubForm3::situarse | ( | unsigned int | row, | |
| unsigned int | col | |||
| ) |
Se situa en una celda especifica del subformulario.
| row | ||
| col |
Mientras no se encuentre un candidato y haya candidatos
Definition at line 797 of file subform3.cpp.
References _depura(), SHeader::DBNoView, SHeader::DBNoWrite, FALSE, m_lcabecera, Ui_SubForm3Base::mui_list, SHeader::options(), and TRUE.
Referenced by on_mui_list_cellRePosition().
00797 { 00798 _depura("SubForm3::situarse", 0, QString::number(row) + " " + QString::number(col)); 00799 unsigned int nrow = row; 00800 unsigned int ncol = col; 00801 SHeader *linea = m_lcabecera.at(ncol); 00802 if (!linea) 00803 return; 00804 bool invalido = TRUE; 00805 00807 while (invalido && nrow < row + 2) { 00808 ncol++; 00809 if (ncol == (unsigned int) m_lcabecera.count()) { 00810 ncol = 0; 00811 nrow++; 00812 } // end if 00813 linea = m_lcabecera.at(ncol); 00814 invalido = FALSE; 00815 if (linea->options() & SHeader::DBNoView) 00816 invalido = TRUE; 00817 if (linea->options() & SHeader::DBNoWrite) 00818 invalido = TRUE; 00819 } // end while 00820 mui_list->setCurrentCell(nrow, ncol); 00821 _depura("END SubForm3::situarse", 0, QString::number(nrow) + " " + QString::number(ncol)); 00822 }
| void SubForm3::situarse1 | ( | unsigned int | row, | |
| unsigned int | col | |||
| ) |
Se situa en una celda especifica del subformulario.
| row | ||
| col |
Definition at line 832 of file subform3.cpp.
References _depura(), SHeader::DBNoView, SHeader::DBNoWrite, FALSE, m_lcabecera, Ui_SubForm3Base::mui_list, SHeader::options(), and TRUE.
Referenced by on_mui_list_cellRePosition().
00832 { 00833 _depura("SubForm3::situarse1", 0, QString::number(row) + " " + QString::number(col)); 00834 unsigned int nrow = row; 00835 unsigned int ncol = col; 00836 SHeader *linea = m_lcabecera.at(ncol); 00837 if (!linea) { 00838 return; 00839 } // end if 00840 bool invalido = TRUE; 00841 while (invalido) { 00842 if (ncol == (unsigned int) m_lcabecera.count()) { 00843 ncol = 0; 00844 nrow++; 00845 } // end if 00846 linea = m_lcabecera.at(ncol); 00847 invalido = FALSE; 00848 if (linea->options() & SHeader::DBNoView) 00849 invalido = TRUE; 00850 if (linea->options() & SHeader::DBNoWrite) 00851 invalido = TRUE; 00852 if (invalido) 00853 ncol++; 00854 } // end while 00855 mui_list->setCurrentCell(nrow, ncol); 00856 _depura("END SubForm3::situarse1", 0); 00857 }
| int SubForm3::addSHeader | ( | QString | nom, | |
| DBCampo::dbtype | typ, | |||
| int | res, | |||
| int | opt, | |||
| QString | nomp | |||
| ) |
Método para agregar cabeceras al listado.
| nom | ||
| typ | ||
| res | ||
| opt | ||
| nomp |
19/07/2007 Cambiado QTableWidgetItem por QTableWidgetItem2 para usar nuevas funcionalidades.
Definition at line 1392 of file subform3.cpp.
References _depura(), SHeader::DBBlockView, SHeader::DBNoView, m_lcabecera, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_listcolumnas, and SHeader::set().
Referenced by AlbaranClienteListSubform::AlbaranClienteListSubform(), AlbaranClienteListSubform_AlbaranClienteListSubform(), AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(), AlmacenesListView::AlmacenesListView(), AlmacenView_AlmacenView(), AmortizacionesView::AmortizacionesView(), AmortizacionView::AmortizacionView(), ArticuloListSubForm::ArticuloListSubForm(), ArticuloView_ArticuloView(), AsientoListSubform::AsientoListSubform(), BalanceSubForm::BalanceSubForm(), cargaSpecs(), ccosteview::ccosteview(), ClienteListSubform::ClienteListSubform(), cobropagoview::cobropagoview(), CobrosListSubForm::CobrosListSubForm(), CobrosListSubForm_CobrosListSubForm(), ContratosListSubform::ContratosListSubform(), Cuadrante1View::Cuadrante1View(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), FacturasContratoListSubForm::FacturasContratoListSubForm(), FacturasListSubform::FacturasListSubform(), FacturasListSubform_FacturasListSubform(), FacturasProveedorListSubform::FacturasProveedorListSubform(), myplugin::inicializa(), InventariosSubForm::InventariosSubForm(), ListAlmacenSubForm::ListAlmacenSubForm(), ListCompArticuloView::ListCompArticuloView(), ListConfiguracionSubForm::ListConfiguracionSubForm(), ListControlStockView::ListControlStockView(), ListDescuentoAlbaranClienteView::ListDescuentoAlbaranClienteView(), ListDescuentoAlbaranProvView::ListDescuentoAlbaranProvView(), ListDescuentoFacturaProvView::ListDescuentoFacturaProvView(), ListDescuentoFacturaView::ListDescuentoFacturaView(), ListDescuentoPedidoClienteView::ListDescuentoPedidoClienteView(), ListDescuentoPedidoProveedorView::ListDescuentoPedidoProveedorView(), ListDescuentoPresupuestoView::ListDescuentoPresupuestoView(), ListLinAlbaranClienteView::ListLinAlbaranClienteView(), ListLinAlbaranClienteView_ListLinAlbaranClienteView(), ListLinAlbaranProveedorView::ListLinAlbaranProveedorView(), ListLinAlbaranProveedorView_ListLinAlbaranProveedorView(), ListLinAsiento1View::ListLinAsiento1View(), ListLinContratoView::ListLinContratoView(), ListLinFacturaProveedorView::ListLinFacturaProveedorView(), ListLinFacturaProveedorView_ListLinFacturaProveedorView(), ListLinFacturaView::ListLinFacturaView(), ListLinFacturaView_ListLinFacturaView(), ListLinPedidoClienteView::ListLinPedidoClienteView(), ListLinPedidoProveedorView::ListLinPedidoProveedorView(), ListLinPresupuestoView::ListLinPresupuestoView(), ListLTarifaView::ListLTarifaView(), ListLTarifaView1::ListLTarifaView1(), ListProyectosView::ListProyectosView(), ListRegistroIvaView::ListRegistroIvaView(), ListSerieFacturaSubForm::ListSerieFacturaSubForm(), ListTasaIVASubForm::ListTasaIVASubForm(), ListTipoIVASubForm::ListTipoIVASubForm(), ListTiposTrabajoView::ListTiposTrabajoView(), ListZonaComercialSubForm::ListZonaComercialSubForm(), MovimientosSubform::MovimientosSubform(), PagosListSubForm::PagosListSubForm(), PaisView::PaisView(), PedidosClienteListSubform::PedidosClienteListSubform(), PedidosClienteListSubform_PedidosClienteListSubform(), PedidosProveedorListSubform::PedidosProveedorListSubform(), PresupuestoListSubForm::PresupuestoListSubForm(), PresupuestoListSubForm_PresupuestoListSubForm(), ProveedorListSubform::ProveedorListSubform(), ProyectoView::ProyectoView(), RegistroIvaView::RegistroIvaView(), RutaComercialListSubForm::RutaComercialListSubForm(), TarifaListSubform::TarifaListSubform(), TrabajadorView_TrabajadorView(), TrabajadorView_TrabajadorView_Post(), VehiculoView::VehiculoView(), ZList::ZList(), and ZView::ZView().
01392 { 01393 _depura("SubForm3::addSHeader (" + nom + ")", 0); 01394 SHeader *camp = new SHeader(nom, typ, res, opt, nomp); 01395 camp->set(""); 01396 m_lcabecera.append(camp); 01397 mui_listcolumnas->insertRow(mui_listcolumnas->rowCount()); 01400 QTableWidgetItem2 *it = new QTableWidgetItem2(""); 01401 it->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable); 01402 01403 if (opt & SHeader::DBNoView) { 01404 mui_list->hideColumn(mui_listcolumnas->rowCount() -1); 01405 it->setCheckState(Qt::Unchecked); 01406 } else { 01407 it->setCheckState(Qt::Checked); 01408 } // end if 01409 01410 if (opt & SHeader::DBBlockView) { 01411 it->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable); 01412 } // end if 01413 01414 mui_listcolumnas->setItem(mui_listcolumnas->rowCount() - 1, 0, it); 01415 it = new QTableWidgetItem2(nom); 01416 mui_listcolumnas->setItem(mui_listcolumnas->rowCount() - 1, 1, it); 01417 it = new QTableWidgetItem2(nomp); 01418 mui_listcolumnas->setItem(mui_listcolumnas->rowCount() - 1, 2, it); 01419 it = new QTableWidgetItem2(""); 01420 mui_listcolumnas->setItem(mui_listcolumnas->rowCount() - 1, 3, it); 01421 01422 _depura("END SubForm3::addSHeader (" + nom + ")", 0); 01423 return 0; 01424 }
| SDBRecord * SubForm3::newSDBRecord | ( | ) |
Tratamos el tema de la alineacion dependiendo del tipo.
Definition at line 698 of file subform3.cpp.
References _depura(), SDBRecord::addDBCampo(), DBCampo::DBboolean, DBCampo::DBdate, DBCampo::DBint, SHeader::DBNoWrite, DBCampo::DBnumeric, PEmpresaBase::empresaBase(), DBRecord::lista(), m_campoid, m_lcabecera, m_tablename, SHeader::nomcampo(), SHeader::nompresentacion(), SHeader::options(), SHeader::restricciones(), DBRecord::setDBCampoId(), DBRecord::setDBTableName(), and SHeader::tipo().
Referenced by cargar(), and nuevoRegistro().
00698 { 00699 _depura("SubForm3::newSDBRecord", 0); 00700 SDBRecord *rec = new SDBRecord(empresaBase()); 00701 rec->setDBTableName(m_tablename); 00702 rec->setDBCampoId(m_campoid); 00703 00704 SHeader *linea; 00705 for (int i = 0; i < m_lcabecera.size(); ++i) { 00706 linea = m_lcabecera.at(i); 00707 rec->addDBCampo(linea->nomcampo(), linea->tipo(), linea->restricciones(), linea->nompresentacion()); 00708 } // end for 00709 00710 SDBCampo *camp; 00711 for (int i = 0; i < rec->lista()->size(); ++i) { 00712 camp = (SDBCampo *) rec->lista()->at(i); 00713 SHeader *head = m_lcabecera.at(i); 00714 Qt::ItemFlags flags = 0; 00715 flags |= Qt::ItemIsEnabled | Qt::ItemIsSelectable; 00716 00717 if (!(head->options() & SHeader::DBNoWrite)) 00718 flags |= Qt::ItemIsEditable; 00719 if (head->tipo() == DBCampo::DBboolean) { 00720 flags |= Qt::ItemIsUserCheckable; 00721 } // end if 00722 00723 camp->setFlags(flags); 00724 00726 if (head->tipo() == DBCampo::DBint || head->tipo() == DBCampo::DBnumeric || head->tipo() == DBCampo::DBdate) { 00727 camp->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); 00728 } else { 00729 camp->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter); 00730 } // end if 00731 } // end for 00732 _depura("END SubForm3::newSDBRecord", 0); 00733 return rec; 00734 }
| void SubForm3::setColumnValue | ( | QString | campo, | |
| QString | valor | |||
| ) | [virtual] |
| campo | ||
| valor |
Definition at line 1433 of file subform3.cpp.
References _depura(), lineaat(), Ui_SubForm3Base::mui_list, and DBRecord::setDBvalue().
Referenced by ArticuloView_guardar_post(), Ficha_guardar_Post(), PaisView::guardar(), VehiculoView::guardar(), TarifaView::guardar(), Contrato::guardar(), ccosteview::guardar(), AmortizacionView::guardar(), RegistroIvaView::guardar(), PresupuestoView::guardarPost(), PedidoProveedorView::guardarPost(), PedidoClienteView::guardarPost(), FacturaView::guardarPost(), FacturaProveedorView::guardarPost(), ArticuloView::guardarPost(), AlbaranProveedorView::guardarPost(), AlbaranClienteView::guardarPost(), Cuadrante1View::guardarPost(), ProyectoView::guardarPost(), PedidoProveedorView::on_mui_proveedor_valueChanged(), Asiento1::setidasiento(), Inventario::setidinventario(), and TrabajadorView_on_mui_guardar_clicked().
01433 { 01434 _depura("SubForm3::setColumnValue", 0, campo +" -- "+valor); 01435 SDBRecord *rec; 01436 01437 for (int i = 0; i < mui_list->rowCount(); ++i) { 01438 rec = lineaat(i); 01439 if (rec) { 01440 rec->setDBvalue(campo, valor); 01441 } // end if 01442 } // end for 01443 _depura("END SubForm3::setColumnValue", 0); 01444 }
| QString SubForm3::DBvalue | ( | const QString & | campo, | |
| int | row = -1 | |||
| ) |
| campo | ||
| row |
Definition at line 1473 of file subform3.cpp.
References _depura(), DBRecord::DBvalue(), lineaact(), lineaat(), and mensajeInfo().
Referenced by ProveedorList::borrar(), PresupuestoList::borrar(), PedidosProveedorList::borrar(), PedidosClienteList::borrar(), PagosList::borrar(), FacturasProveedorList::borrar(), FacturasList::borrar(), CobrosList::borrar(), ClientsList::borrar(), ArticuloList::borrar(), AlbaranesProveedor::borrar(), AlbaranClienteList::borrar(), AlmacenesListView::borrar(), AmortizacionesView::borrar(), ListProyectosView::borrar(), SubForm2Bc::boton_asiento(), SubForm2Bc::boton_balance1(), SubForm2Bc::boton_diario1(), SubForm2Bc::boton_extracto1(), RegIVAQToolButton::click(), AmortizacionSubForm::creaMenu(), ProveedorList::editar(), PresupuestoList::editar(), PedidosProveedorList::editar(), PedidosClienteList::editar(), PagosList::editar(), FacturasProveedorList::editar(), FacturasList::editar(), CobrosList::editar(), ClientsList::editar(), ArticuloList::editar(), AlbaranesProveedor::editar(), AlbaranClienteList::editar(), ZList::editar(), TarifaListView::editar(), ContratosList::editar(), AlmacenesListView::editar(), RutaComercialList::editar(), AmortizacionesView::editar(), ListProyectosView::editar(), myplugin::elslot(), ListLinAsiento1View_boton_iva(), InventariosView::on_mui_borrar2_clicked(), TarifaListView::on_mui_borrar_clicked(), RutaComercialList::on_mui_borrar_clicked(), InventariosView::on_mui_editar_clicked(), extractoview1::on_mui_list_cellDoubleClicked(), AsientosView::on_mui_list_cellDoubleClicked(), ListRegistroIvaView::on_mui_tablarepercutido_cellDoubleClicked(), ListRegistroIvaView::on_mui_tablarepercutido_trataMenu(), ListRegistroIvaView::on_mui_tablasoportado_cellDoubleClicked(), ListRegistroIvaView::on_mui_tablasoportado_trataMenu(), ContratoView::on_subform2_itemDoubleClicked(), and AmortizacionSubForm::procesaMenu().
01473 { 01474 _depura("SubForm3::DBvalue", 0); 01475 try { 01476 SDBRecord *rec; 01477 if (row == -1) 01478 rec = lineaact(); 01479 else 01480 rec=lineaat(row); 01481 if (rec == NULL) 01482 throw -1; 01483 _depura("END SubForm3::DBvalue", 0); 01484 return rec->DBvalue(campo); 01485 } catch (...) { 01486 mensajeInfo("Fila inexistente"); 01487 throw -1; 01488 } 01489 }
| void SubForm3::setDBvalue | ( | const QString & | campo, | |
| int | row, | |||
| const QString & | valor | |||
| ) |
| campo | Nombre de la columna que debe cambiarse. | |
| row | Fila correspondiente a la casilla | |
| valor | Valor que tomará la casilla |
Definition at line 1498 of file subform3.cpp.
References _depura(), lineaact(), lineaat(), mensajeInfo(), and DBRecord::setDBvalue().
Referenced by extractoview1::presentar().
01498 { 01499 _depura("SubForm3::setDBvalue", 0); 01500 try { 01501 SDBRecord *rec; 01502 if (row == -1) 01503 rec = lineaact(); 01504 else 01505 rec=lineaat(row); 01506 if (rec == NULL) 01507 throw -1; 01508 rec->setDBvalue(campo, valor); 01509 _depura("END SubForm3::setDBvalue", 0); 01510 } catch (...) { 01511 mensajeInfo("Fila inexistente"); 01512 throw -1; 01513 } 01514 }
| SDBRecord * SubForm3::lineaact | ( | ) |
Devuelve la linea que se esta tratando actualmente.
Definition at line 1249 of file subform3.cpp.
References _depura(), lineaat(), and Ui_SubForm3Base::mui_list.
Referenced by DBvalue(), and setDBvalue().
01249 { 01250 _depura("SubForm3::lineaact", 0); 01251 _depura("END SubForm3::lineaact", 0); 01252 return lineaat(mui_list->currentRow()); 01253 }
| SDBRecord * SubForm3::lineaat | ( | int | row | ) |
Devuelve la linea especificada o NULL si ésta no existe.
| row |
Si la lista no tiene suficientes elementos devolvemos NULL
Seleccionamos el campo especificado y lo devolvemos.
Definition at line 1261 of file subform3.cpp.
References _depura(), m_procesacambios, Ui_SubForm3Base::mui_list, SDBCampo::pare(), and TRUE.
Referenced by AlbaranClienteView::agregarFactura(), borrar(), FichaBf::calculaypintatotales(), TicketQToolButton::click(), Q19QToolButton::click(), EmailQToolButton::click(), SelQToolButton::click(), ImpQToolButton::click(), DBvalue(), ListCompArticuloView::editFinished(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), guardar(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), lineaact(), FacturaView::on_mui_agregaralbaran_clicked(), ContratoView::on_mui_facturar_clicked(), RegistroIvaView::on_mui_generarPrevisiones_clicked(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), SubForm2Bf::on_mui_list_pressedMinus(), myplugclipboard::pegaODS(), myplugclipboard::pegaSXC(), extractoview1::presentar(), ListCompArticuloView::pressedAsterisk(), cobropagoview::s_recalculaSaldo(), setColumnValue(), setDBvalue(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), QSubForm3BfDelegate::setModelData(), SubForm2Bf_on_mui_list_editFinished(), sumarCampo(), FichaBf::trataLineasDescuento(), FichaBf::trataLineasDetalle(), and FichaBf::trataTotales().
01261 { 01262 _depura("SubForm3::lineaat()", 0, QString::number(row)); 01263 try { 01265 if (mui_list->rowCount() < row || row < 0) { 01266 throw -1; 01267 } // end if 01268 01270 SDBCampo *camp = (SDBCampo*) mui_list->item(row, 0); 01271 if (!camp) { 01272 throw -1; 01273 } // end if 01274 SDBRecord *rec = (SDBRecord *) camp->pare(); 01275 01276 m_procesacambios = TRUE; 01277 01278 _depura("END SubForm3::lineaat()", 0); 01279 return rec; 01280 } catch (...) { 01281 _depura ("SubForm3::lineaat linea inexistente", 2, QString::number(row)); 01282 m_procesacambios = TRUE; 01283 return NULL; 01284 } 01285 }
| void SubForm3::imprimirPDF | ( | const QString & | titular | ) | [virtual] |
| titular |
Los listados siempre usan la misma plantilla para imprimir listado.
Copiamos el archivo.
Copiamos el logo.
Reemplazamos en la impresion el parametro [story] por el resultado de la impresion
La plantilla de listados admite unicamente el parametro titular que es lo que cambia en todos los listados
Definition at line 1988 of file subform3.cpp.
References _depura(), CONF_DIR_OPENREPORTS, CONF_DIR_USER, confpr, imprimir(), invocaPDF(), and configuracion::valor().
Referenced by Listado::imprimir(), ProveedorList::imprimir(), PresupuestoList::imprimir(), PedidosProveedorList::imprimir(), PedidosClienteList::imprimir(), PagosList::imprimir(), FacturasProveedorList::imprimir(), FacturasList::imprimir(), CobrosList::imprimir(), ClientsList::imprimir(), ArticuloList::imprimir(), AlbaranesProveedor::imprimir(), AlbaranClienteList::imprimir(), ZList::imprimir(), AlmacenesListView::imprimir(), AsientosView::imprimir(), MovimientosView::on_mui_imprimir_clicked(), ContratosList::on_mui_imprimir_clicked(), and DiarioView::on_mui_imprimir_clicked().
01988 { 01989 _depura("SubForm3::imprimir", 0); 01990 01992 QString archivo = confpr->valor(CONF_DIR_OPENREPORTS) + "listado.rml"; 01993 QString archivod = confpr->valor(CONF_DIR_USER) + "listado.rml"; 01994 QString archivologo = confpr->valor(CONF_DIR_OPENREPORTS) + "logo.jpg"; 01996 #ifdef WINDOWS 01997 01998 archivo = "copy " + archivo + " " + archivod; 01999 #else 02000 02001 archivo = "cp " + archivo + " " + archivod; 02002 #endif 02003 02004 system(archivo.toAscii()); 02006 #ifdef WINDOWS 02007 02008 archivologo = "copy " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg"; 02009 #else 02010 02011 archivologo = "cp " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg"; 02012 #endif 02013 02014 system(archivologo.toAscii()); 02015 02016 QFile file; 02017 file.setFileName(archivod); 02018 file.open(QIODevice::ReadOnly); 02019 02020 QTextStream stream(&file); 02021 QString buff = stream.readAll(); 02022 file.close(); 02023 QString fitxersortidatxt; 02024 02025 fitxersortidatxt = "<blockTable style=\"tabla\" repeatRows=\"1\">"; 02026 fitxersortidatxt += imprimir(); 02027 fitxersortidatxt += "</blockTable>"; 02028 02030 buff.replace("[story]", fitxersortidatxt); 02033 buff.replace("[titulo]", titular); 02034 02035 if (file.open(QIODevice::WriteOnly)) { 02036 02037 QTextStream stream(&file); 02038 stream << buff; 02039 02040 file.close(); 02041 } // end if 02042 02043 invocaPDF("listado"); 02044 _depura("END SubForm3::imprimir", 0); 02045 }
| void SubForm3::nuevoRegistro | ( | ) | [virtual] |
Desactivamos el sorting debido a un error en las Qt4
Nos posicionamos en una celda del nuevo registro ya que si no un bug no nos permite usar currentRow()
Activamos el sorting debido a un error en las Qt4
Definition at line 742 of file subform3.cpp.
References _depura(), FALSE, DBRecord::lista(), m_insercion, m_lista, m_sorting, Ui_SubForm3Base::mui_list, newSDBRecord(), and QTableWidget2::setSortingEnabled().
Referenced by AlbaranClienteView::agregarFactura(), borrar(), cargar(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), PresupuestoView::generarPedidoCliente(), guardar(), EFQToolButtonImportar::importa_factura_ubl(), inicializar(), FacturaView::on_mui_agregaralbaran_clicked(), AmortizacionView::on_mui_btcalcular_clicked(), ContratoView::on_mui_facturar_clicked(), RegistroIvaView::on_mui_generarPrevisiones_clicked(), on_mui_list_cellRePosition(), myplugclipboard::pegaODS(), myplugclipboard::pegaSXC(), and pintar().
00742 { 00743 _depura("SubForm3::nuevoRegistro", 0); 00744 if (!m_insercion) 00745 return; 00746 00748 mui_list->setSortingEnabled(FALSE); 00749 00750 SDBRecord *rec = newSDBRecord(); 00751 00752 m_lista.append(rec); 00753 00754 mui_list->insertRow(m_lista.size() - 1); 00755 SDBCampo *camp; 00756 for (int i = 0; i < rec->lista()->size(); ++i) { 00757 camp = (SDBCampo *) rec->lista()->at(i); 00758 mui_list->setItem(m_lista.size() - 1, i, camp); 00759 } // end for 00760 00762 mui_list->setCurrentCell(m_lista.size() - 1, 2); 00763 00765 mui_list->setSortingEnabled(m_sorting); 00766 _depura("END SubForm3::nuevoRegistro", 0); 00767 }
| int SubForm3::borrar | ( | ) | [virtual] |
Reimplemented in ListControlStockView.
Definition at line 1592 of file subform3.cpp.
References _depura(), DBRecord::borrar(), m_insercion, m_lista, and mensajeError().
Referenced by ArticuloView_borrar(), Contrato::borrar(), Asiento1::borrar(), PresupuestoView::borrarPre(), PedidoProveedorView::borrarPre(), PedidoClienteView::borrarPre(), FacturaView::borrarPre(), FacturaProveedorView::borrarPre(), ArticuloView::borrarPre(), AlbaranProveedorView::borrarPre(), AlbaranClienteView::borrarPre(), contextMenuEvent(), BalanceSubForm::contextMenuEvent(), and TarifaView::on_mui_borrar_clicked().
01592 { 01593 _depura("SubForm3::borrar", 0); 01594 SDBRecord *rec; 01595 int i = 0; 01596 int error = 0; 01597 try { 01598 for (rec = m_lista.at(i++); i < m_lista.count(); rec = m_lista.at(i++)) { 01599 error = rec->borrar(); 01600 if (error) 01601 return -1; 01602 } // end for 01603 if (!m_insercion) { 01604 rec = m_lista.at(m_lista.count() - 1); 01605 error = rec->borrar(); 01606 } // end if 01607 _depura("END SubForm3::borrar", 0); 01608 return error; 01609 } catch (...) { 01610 mensajeError("Error al borrar. [SubForm3::borrar]"); 01611 return -1; 01612 } // end try 01613 }
| int SubForm3::borrar | ( | int | row | ) | [virtual] |
| row |
Cogemos el elemento correspondiente, partimos de mui_list, tb podriamos usar lineaat
Agregamos el elemento a la lista de borrados
Sacamos celda a celda toda la fila
Nos aseguramos que ningun campo de la fila a borrar este en modo edicion. Evitamos que falle el programa.
Comprueba que no haya ninguna linea en el subformulario y crea una en blanco.
Terminamos
Definition at line 1621 of file subform3.cpp.
References _depura(), DBRecord::campoId(), cerrarEditor(), PEmpresaBase::empresaBase(), FALSE, lineaat(), DBRecord::lista(), m_insercion, m_lista, m_listaborrar, mensajeInfo(), Ui_SubForm3Base::mui_list, DBCampo::nomcampo(), DBCampo::nompresentacion(), nuevoRegistro(), DBCampo::restrictcampo(), rowCount(), SDBCampo::set(), DBRecord::setDBCampoId(), DBRecord::setDBTableName(), DBRecord::setNuevo(), DBRecord::tableName(), DBCampo::tipo(), TRUE, and DBCampo::valorcampo().
01621 { 01622 _depura("SubForm3::borrar", 0); 01623 try { 01624 SDBRecord *rec, *rac; 01625 SDBCampo *camp; 01626 01627 rac = new SDBRecord(empresaBase()); 01628 01630 rec = lineaat(row); 01631 if (!rec) 01632 return -1; 01633 01635 m_listaborrar.append(rac); 01636 m_lista.takeAt(m_lista.indexOf(rec)); 01637 01638 rac->setDBTableName(rec->tableName()); 01639 rac->setDBCampoId(rec->campoId()); 01640 rac->setNuevo(FALSE); 01641 01643 for (int i = 0; i < mui_list->columnCount(); i++) { 01644 camp = (SDBCampo *) mui_list->item(row, i); 01645 SDBCampo *it = new SDBCampo(rac, empresaBase(), camp->nomcampo(), camp->tipo(), camp->restrictcampo(), camp->nompresentacion()); 01646 rac->lista()->append(it); 01647 it->set(camp->valorcampo()); 01648 } // end for 01649 01652 cerrarEditor(); 01653 01654 mui_list->removeRow(row); 01655 delete rec; 01656 01658 if (m_insercion == TRUE && rowCount() == 0) { 01659 nuevoRegistro(); 01660 } // end if 01661 01663 _depura("END SubForm3::borrar", 0); 01664 return 0; 01665 01666 } catch (...) { 01667 mensajeInfo( "Error al intentar borrar"); 01668 _depura("SubForm3::borrar error al borrar", 3); 01669 throw -1; 01670 } // end try 01671 }
| int SubForm3::guardar | ( | ) | [virtual] |
Borramos los elementos marcados para ser borrados.
Asegura que siempre la ultima linea se valide antes de guardar. Esto evita que se pueda perder informacion.
Si no hay elementos que guardar salimos.
Hacemos el guardado
Si hay ordenacion de campos ahora la establecemos
Si no hay modo insercion hacemos el guardado de la ultima linea.
Liberamos memoria
Reimplemented in ListControlStockView.
Definition at line 1521 of file subform3.cpp.
References _depura(), DBRecord::borrar(), campoCompleto(), DBRecord::guardar(), lineaat(), m_insercion, m_listaborrar, m_orden, m_tablename, mensajeError(), Ui_SubForm3Base::mui_list, nuevoRegistro(), SDBRecord::refresh(), and DBRecord::setDBvalue().
Referenced by ArticuloView_guardar_post(), RegIVAQToolButton::click(), Ficha_guardar_Post(), PaisView::guardar(), VehiculoView::guardar(), TarifaView::guardar(), ListControlStockView::guardar(), Contrato::guardar(), extractoview1::guardar(), ccosteview::guardar(), Asiento1::guardar(), AmortizacionView::guardar(), RegistroIvaView::guardar(), PresupuestoView::guardarPost(), PedidoProveedorView::guardarPost(), PedidoClienteView::guardarPost(), FacturaView::guardarPost(), FacturaProveedorView::guardarPost(), ArticuloView::guardarPost(), AlbaranProveedorView::guardarPost(), AlbaranClienteView::guardarPost(), Cuadrante1View::guardarPost(), ProyectoView::guardarPost(), ListLinAsiento1View_boton_iva(), ListTipoIVAView::on_mui_aceptar_clicked(), ListTasaIVAView::on_mui_aceptar_clicked(), ListSerieFacturaView::on_mui_aceptar_clicked(), ListConfiguracionView::on_mui_aceptar_clicked(), ListAlmacenView::on_mui_aceptar_clicked(), ListTiposTrabajoView::on_mui_aceptar_clicked(), ListZonaComercialView::on_mui_aceptar_clicked(), propiedadesempresa::on_mui_guardar_clicked(), cobropagoview::s_guardar(), and TrabajadorView_on_mui_guardar_clicked().
01521 { 01522 _depura("SubForm3::guardar", 0); 01523 try { 01524 SDBRecord *rec; 01526 while (!m_listaborrar.isEmpty()) { 01527 rec = m_listaborrar.takeFirst(); 01528 if (rec) { 01529 rec->borrar(); 01530 } // end if 01531 } // end while 01532 01535 if (campoCompleto(mui_list->rowCount() - 1)) { 01536 nuevoRegistro(); 01537 } // end if 01538 01540 if (mui_list->rowCount() == 0 || ((mui_list->rowCount() == 1) && m_insercion)) { 01541 return 0; 01542 } // end if 01543 01545 for (int j = 0; j < mui_list->rowCount() - 1; ++j) { 01546 rec = lineaat(j); 01547 if (rec) { 01549 if (m_orden) { 01550 rec->setDBvalue("orden" + m_tablename, QString::number(j)); 01551 } // end if 01552 rec->refresh(); 01553 rec->guardar(); 01554 } // end if 01555 } // end for 01556 01558 if (!m_insercion) { 01559 rec = lineaat(mui_list->rowCount() - 1); 01560 if (m_orden) 01561 rec->setDBvalue("orden" + m_tablename, QString::number(mui_list->rowCount() - 1)); 01562 rec->refresh(); 01563 rec->guardar(); 01564 } // end if 01565 01567 while (!m_listaborrar.isEmpty()) { 01568 rec = m_listaborrar.takeFirst(); 01569 if (rec) { 01570 delete rec; 01571 } // end if 01572 } // end while 01573 01574 _depura("END SubForm3::guardar", 0); 01575 return 0; 01576 } catch (int e) { 01577 if (e == 100) { 01578 throw -1; 01579 } // end if 01580 } catch (...) { 01581 mensajeError("Error inesperado en el guardado. [SubForm3::guardar]"); 01582 throw -1; 01583 } // end try 01584 return -1; 01585 }
| void SubForm3::cargar | ( | QString | query | ) | [virtual] |
| query | La consulta SQL a cargar en el subformulario. |
Si el query no existe no hacemos nada.
Tratramos con la paginacion.
Reimplemented in ListLinAsiento1View, RutaComercialListSubForm, FacturasContratoListSubForm, ListLinContratoView, ListControlStockView, ListLTarifaView, ListLTarifaView1, MovimientosSubform, AlbaranClienteListSubform, AlbaranesProveedorListSubform, ListCompArticuloView, FacturasListSubform, FacturasProveedorListSubform, ListDescuentoAlbaranClienteView, ListDescuentoAlbaranProvView, ListDescuentoFacturaProvView, ListDescuentoFacturaView, ListDescuentoPedidoClienteView, ListDescuentoPedidoProveedorView, ListDescuentoPresupuestoView, ListLinAlbaranClienteView, ListLinAlbaranProveedorView, ListLinFacturaProveedorView, ListLinFacturaView, ListLinPedidoClienteView, ListLinPedidoProveedorView, ListLinPresupuestoView, PedidosClienteListSubform, PedidosProveedorListSubform, PresupuestoListSubForm, ProveedorListSubform, SubForm2Bf, and SubForm2Bt.
Definition at line 1215 of file subform3.cpp.
References _depura(), postgresiface2::cargacursor(), cargar(), PEmpresaBase::empresaBase(), m_query, Ui_SubForm3Base::mui_filaspagina, and Ui_SubForm3Base::mui_paginaact.
Referenced by RegistroIva::buscaborradoriva(), Asiento1::cargar(), AmortizacionView::cargar(), RegistroIvaView::cargar(), ProyectoView::cargarPost(), Ficha_cargar(), ListRegistroIvaView::inicializa(), ccosteview::mostrarplantilla(), cobropagoview::on_mui_actualizar_clicked(), extractoview1::presentar(), DiarioView::presentar(), and AsientosView::presentar().
01215 { 01216 _depura("SubForm3::cargar", 0); 01218 if (query == "") return; 01219 01220 try { 01221 m_query = query; 01222 01224 int limit = mui_filaspagina->text().toInt(); 01225 if (limit <= 0) { 01226 limit = 500; 01227 } // end if 01228 01229 int pagact = mui_paginaact->text().toInt(); 01230 if (pagact <= 0) { 01231 pagact = 1; 01232 } // end if 01233 int offset = limit * (pagact -1); 01234 01235 cursor2 *cur = empresaBase()->cargacursor(query, "", limit, offset); 01236 cargar(cur); 01237 delete cur; 01238 } catch (...) { 01239 _depura("SubForm3::cargar", 2, "Error en la carga de datos"); 01240 } // end try 01241 _depura("END SubForm3::cargar", 0); 01242 }
| int SubForm3::inicializar | ( | ) | [virtual] |
Carga una tabla a partir del recordset que se le ha pasado.
Vaciamos la tabla para que no contenga registros.
Vaciamos el recordset para que no contenga registros.
Ponemos los datos sobre el query.
Inicializamos las columnas y pintamos las cabeceras.
Ordenamos la tabla.
configuramos que registros son visibles y que registros no lo son.
Definition at line 883 of file subform3.cpp.
References _depura(), cargaconfig(), FALSE, m_lcabecera, m_lista, m_primero, m_procesacambios, Ui_SubForm3Base::mui_filaspagina, Ui_SubForm3Base::mui_list, Ui_SubForm3Base::mui_numfilas, Ui_SubForm3Base::mui_numpaginas, Ui_SubForm3Base::mui_paginaact, Ui_SubForm3Base::mui_query, nuevoRegistro(), on_mui_confcol_clicked(), QTableWidget2::ordenar(), pintaCabeceras(), and TRUE.
Referenced by PresupuestoView::inicializar(), PedidoClienteView::inicializar(), FacturaView::inicializar(), FacturaProveedorView::inicializar(), AlbaranProveedorView::inicializar(), AlbaranClienteView::inicializar(), ContratoView::inicializar(), AmortizacionView::on_mui_btcalcular_clicked(), and PedidoProveedorView::PedidoProveedorView().
00883 { 00884 _depura("SubForm3::inicializar", 0); 00885 m_procesacambios = FALSE; 00886 mui_query->setPlainText(""); 00887 SDBRecord *rec; 00888 00889 int filpag = mui_filaspagina->text().toInt(); 00890 if (filpag <= 0) 00891 filpag = 500; 00892 00893 int pagact = mui_paginaact->text().toInt(); 00894 if (pagact <= 0) 00895 pagact = 1; 00896 00898 mui_list->clear(); 00899 mui_list->setRowCount(0); 00900 00902 while (m_lista.count()) { 00903 rec = m_lista.takeFirst(); 00904 if (rec) 00905 delete rec; 00906 } // end while 00907 00909 mui_numfilas->setText("0"); 00910 int numpag = 0; 00911 mui_numpaginas->setText(QString::number(numpag)); 00913 mui_list->setColumnCount(m_lcabecera.count()); 00914 pintaCabeceras(); 00915 if (m_primero) { 00916 cargaconfig(); 00917 } // end if 00918 00919 nuevoRegistro(); 00921 mui_list->ordenar(); 00923 on_mui_confcol_clicked(); 00924 m_procesacambios = TRUE; 00925 _depura("END SubForm3::inicializar", 0); 00926 return 0; 00927 }
| void SubForm3::pintar | ( | ) | [virtual] |
Definition at line 865 of file subform3.cpp.
References _depura(), cargaconfig(), FALSE, m_lcabecera, m_primero, m_procesacambios, Ui_SubForm3Base::mui_list, nuevoRegistro(), pintaCabeceras(), and TRUE.
Referenced by AmortizacionView::on_mui_btcalcular_clicked(), and Contrato::pintar().
00865 { 00866 _depura("SubForm3::pintar", 0); 00867 m_procesacambios = FALSE; 00868 mui_list->setColumnCount(m_lcabecera.count()); 00869 pintaCabeceras(); 00870 if (m_primero) { 00871 cargaconfig(); 00872 } // end if 00873 nuevoRegistro(); 00874 m_procesacambios = TRUE; 00875 _depura("END SubForm3::pintar", 0); 00876 }
| void SubForm3::creaMenu | ( | QMenu * | ) | [virtual] |
Reimplemented in AmortizacionSubForm, and SubForm2Bc.
Definition at line 554 of file subform3.cpp.
References _depura().
Referenced by contextMenuEvent().
00554 { 00555 _depura("SubForm3:: CreaMenu", 0, "funcion para ser sobreescrita"); 00556 }
| void SubForm3::procesaMenu | ( | QAction * | ) | [virtual] |
Reimplemented in AmortizacionSubForm, and SubForm2Bc.
Definition at line 562 of file subform3.cpp.
References _depura().
Referenced by contextMenuEvent().
00562 { 00563 _depura("SubForm3:: procesaMenu", 0, "funcion para ser sobreescrita"); 00564 }
| Fixed SubForm3::sumarCampo | ( | QString | campo | ) | [virtual] |
| campo |
Definition at line 1452 of file subform3.cpp.
References _depura(), DBRecord::DBvalue(), lineaat(), and Ui_SubForm3Base::mui_list.
Referenced by Asiento1View::calculaypintatotales(), PagosList::presentar(), CobrosList::presentar(), AsientosView::presentar(), and RegistroIvaView::recalculaIva().
01452 { 01453 _depura("SubForm3::sumarCampo", 0); 01454 Fixed total; 01455 SDBRecord *rec; 01456 for (int i = 0; i < mui_list->rowCount(); ++i) { 01457 rec = lineaat(i); 01458 if (rec) { 01459 Fixed subtotal = Fixed(rec->DBvalue(campo)); 01460 total = total + subtotal; 01461 } // end if 01462 } // end for 01463 _depura("END SubForm3::sumarCampo", 0); 01464 return total; 01465 }
| bool SubForm3::existsHeader | ( | const QString & | head | ) |
| head |
Definition at line 677 of file subform3.cpp.
References _depura(), FALSE, m_lcabecera, SHeader::nomcampo(), and TRUE.
Referenced by AlbaranClienteListSubform_AlbaranClienteListSubform().
00677 { 00678 _depura("SubForm3::existsHeader", 0); 00679 SHeader *linea; 00680 for (int i = 0; i < m_lcabecera.size(); ++i) { 00681 linea = m_lcabecera.at(i); 00682 if (linea->nomcampo() == head) { 00683 _depura("END SubForm3::existsHeader", 0); 00684 return TRUE; 00685 } // end if 00686 } // end for 00687 _depura("END SubForm3::existsHeader", 0); 00688 return FALSE; 00689 }
| int SubForm3::cerrarEditor | ( | ) | [virtual] |
Metodo para ser derivado.
Reimplemented in SubForm2Bf, and SubForm2Bt.
Definition at line 1678 of file subform3.cpp.
References _depura().
Referenced by borrar().
01678 { 01679 _depura("END SubForm3::cerrarEditor", 0); 01680 return 0; 01681 }
| void SubForm3::confquery | ( | ) | [virtual] |
Definition at line 1873 of file subform3.cpp.
References _depura(), cargar(), PEmpresaBase::empresaBase(), m_query, and mensajeInfo().
Referenced by on_mui_paganterior_clicked(), and on_mui_pagsiguiente_clicked().
01873 { 01874 _depura("SubForm3::confquery", 0); 01875 if (empresaBase() == NULL) { 01876 mensajeInfo("no se ha inicializado bien la clase"); 01877 return; 01878 } // end if 01879 01880 cargar(m_query); 01881 01882 _depura("END SubForm3::confquery ", 0); 01883 }
| QString SubForm3::columnDBfieldName | ( | int | columna | ) |
Devuelve el nombre del campo en la base de datos sabiendo que columna representa ese dato.
Definition at line 2175 of file subform3.cpp.
References m_lcabecera, and SHeader::nomcampo().
02175 { 02176 SHeader *linea; 02177 linea = m_lcabecera.at(columna); 02178 return linea->nomcampo(); 02179 }
| void SubForm3::on_mui_list_cellRePosition | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col |
Se ha hecho un enter sobre una tabla sin insercion con lo que lanzamos un doble click para que sea La accion simulada.
Definition at line 1330 of file subform3.cpp.
References _depura(), campoCompleto(), cellDoubleClicked(), FALSE, item(), itemDoubleClicked(), m_insercion, QTableWidget2::m_teclasalida, Ui_SubForm3Base::mui_list, nuevoRegistro(), situarse(), situarse1(), and TRUE.
01330 { 01331 _depura("SubForm3::on_mui_list_cellReposition", 0, "Row: " + QString::number(row) + " col: " + QString::number(col)); 01332 01333 bool creado = FALSE; 01334 01335 int key = mui_list->m_teclasalida; 01336 01337 if (row == mui_list->rowCount() - 1 && campoCompleto(row)) { 01338 nuevoRegistro(); 01339 creado = TRUE; 01340 } // end if 01341 01342 switch (key) { 01343 case Qt::Key_Return: 01344 case Qt::Key_Enter: 01345 case Qt::Key_Tab: 01346 if (!m_insercion) { 01349 QTableWidgetItem *item = mui_list->currentItem(); 01350 emit itemDoubleClicked(item); 01351 emit cellDoubleClicked(row, col); 01352 } else { 01353 situarse(row, col); 01354 } // end if 01355 break; 01356 case Qt::Key_Down: 01357 situarse(row, col); 01358 situarse1(row, col); 01359 if (creado) { 01360 mui_list->setCurrentCell(row + 1, col); 01361 } // end if 01362 break; 01363 } // end switch 01364 01365 _depura("END SubForm3::on_mui_list_cellRePosition", 0); 01366 }
| void SubForm3::on_mui_list_cellChanged | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
Método que se dispara cuando se termina de editar un campo del Subformulario.
| row | ||
| col |
Reimplemented in SubForm2Bc, SubForm2Bf, and SubForm2Bt.
Definition at line 1374 of file subform3.cpp.
References _depura(), and editFinish().
Referenced by SubForm2Bf::on_mui_list_cellChanged(), and SubForm2Bc::on_mui_list_cellChanged().
01374 { 01375 _depura("SubForm3::on_mui_list_cellChanged", 0, "Row: "+QString::number(row) + " col: "+QString::number(col)); 01376 emit editFinish(row, col); 01377 _depura("END SubForm3::on_mui_list_cellChanged", 0); 01378 }
| void SubForm3::contextMenuEvent | ( | QContextMenuEvent * | ) | [virtual, slot] |
Lanzamos el evento para que pueda ser capturado por terceros.
Lanzamos la propagacion del menu a traves de las clases derivadas.
Si no hay ninguna opcion pulsada se sale sin hacer nada
Activamos las herederas.
Reimplemented in AsientoListSubform, and BalanceSubForm.
Definition at line 2051 of file subform3.cpp.
References _depura(), borrar(), creaMenu(), currentColumn(), currentRow(), m_delete, pintaMenu(), procesaMenu(), resizeColumnsToContents(), resizeColumnToContents(), resizeRowsToContents(), resizeRowToContents(), toogleConfig(), and trataMenu().
02051 { 02052 _depura("SubForm3::contextMenuEvent", 0); 02053 QAction *del = NULL; 02054 int row = currentRow(); 02055 if (row < 0) 02056 return; 02057 int col = currentColumn(); 02058 if (row < 0) 02059 return; 02060 02061 QMenu *popup = new QMenu(this); 02062 02064 emit pintaMenu(popup); 02065 02067 creaMenu(popup); 02068 02069 if (m_delete) { 02070 del = popup->addAction(tr("Borrar registro")); 02071 popup->addSeparator(); 02072 } // end if 02073 QAction *ajustc = popup->addAction(tr("Ajustar columa")); 02074 QAction *ajustac = popup->addAction(tr("Ajustar altura")); 02075 02076 QAction *ajust = popup->addAction(tr("Ajustar columnas")); 02077 QAction *ajusta = popup->addAction(tr("Ajustar alturas")); 02078 02079 popup->addSeparator(); 02080 QAction *verconfig = popup->addAction(tr("Ver/Ocultar configurador de subformulario")); 02081 02082 QAction *opcion = popup->exec(QCursor::pos()); 02083 02085 if (!opcion) return; 02086 if (opcion == del) 02087 borrar(row); 02088 if (opcion == ajust) 02089 resizeColumnsToContents(); 02090 if (opcion == ajusta) 02091 resizeRowsToContents(); 02092 if (opcion == ajustc) 02093 resizeColumnToContents(col); 02094 if (opcion == ajustac) 02095 resizeRowToContents(row); 02096 if (opcion == verconfig) 02097 toogleConfig(); 02098 02099 emit trataMenu(opcion); 02100 02102 procesaMenu(opcion); 02103 02104 delete popup; 02105 _depura("END SubForm3::contextMenuEvent", 0); 02106 }
| void SubForm3::on_mui_confcol_clicked | ( | ) | [virtual, slot] |
Definition at line 1780 of file subform3.cpp.
References _depura(), Ui_SubForm3Base::mui_list, and Ui_SubForm3Base::mui_listcolumnas.
Referenced by cargaconfig(), cargar(), and inicializar().
01780 { 01781 _depura("SubForm3::on_mui_confcol_clicked", 0); 01782 for (int i = 0; i < mui_listcolumnas->rowCount(); ++i) { 01783 if (mui_listcolumnas->item(i, 0)->checkState() == Qt::Checked) 01784 mui_list->showColumn(i); 01785 else 01786 mui_list->hideColumn(i); 01787 } // end for 01788 _depura("END SubForm3::on_mui_confcol_clicked", 0); 01789 }
| void SubForm3::on_mui_confquery_clicked | ( | ) | [virtual, slot] |
Definition at line 1856 of file subform3.cpp.
References _depura(), cargar(), PEmpresaBase::empresaBase(), mensajeInfo(), Ui_SubForm3Base::mui_paginaact, and Ui_SubForm3Base::mui_query.
Referenced by AmortizacionSubForm::procesaMenu().
01856 { 01857 _depura("SubForm3::on_mui_confquery_clicked ", 0); 01858 if (empresaBase() == NULL) { 01859 mensajeInfo("no se ha inicializado bien la clase"); 01860 return; 01861 } // end if 01862 mui_paginaact->setValue(1); 01863 cargar(mui_query->toPlainText()); 01864 // cargar(m_query); 01865 _depura("END SubForm3::on_mui_confquery_clicked ", 0); 01866 }
| void SubForm3::on_mui_list_pressedSlash | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
Reimplemented in SubForm2Bc, SubForm2Bf, and SubForm2Bt.
Definition at line 1795 of file subform3.cpp.
References _depura().
01795 { 01796 _depura ("SubForm3::on_mui_list_pressedSlash", 1, "pulsadoSlash aun no implementado"); 01797 }
| void SubForm3::on_mui_list_pressedAsterisk | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
Reimplemented in SubForm2Bc, SubForm2Bf, and SubForm2Bt.
Definition at line 1803 of file subform3.cpp.
References _depura().
01803 { 01804 _depura ("SubForm3::on_mui_list_pressedAsterisk", 1, "pressedAsterisk aun no implementado"); 01805 }
| void SubForm3::on_mui_list_pressedPlus | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
Definition at line 1811 of file subform3.cpp.
References _depura().
01811 { 01812 _depura ("SubForm3::on_mui_list_pressedPlus", 1, "pulsadoPlus aun no implementado"); 01813 }
| void SubForm3::on_mui_list_pressedMinus | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
Reimplemented in SubForm2Bf, and SubForm2Bt.
Definition at line 1819 of file subform3.cpp.
References _depura().
01819 { 01820 _depura ("SubForm3::on_mui_list_pressedMinus", 1, "pressedMinus aun no implementado"); 01821 }
| void SubForm3::on_mui_list_ctrlSubir | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col |
Desactivamos el sorting debido a un error en las Qt4
Desactivamos el sorting debido a un error en las Qt4
Definition at line 1893 of file subform3.cpp.
References _depura(), FALSE, m_orden, m_procesacambios, m_sorting, Ui_SubForm3Base::mui_list, QTableWidget2::setSortingEnabled(), and TRUE.
01893 { 01894 _depura("SubForm3::on_mui_list_ctrlSubir", 0," (" + QString::number(row) + "," + QString::number(col) + ")"); 01895 if ( ! m_orden) 01896 return; 01897 if (row >= mui_list->rowCount() -1 || row == 0) 01898 return; 01899 01900 01902 mui_list->setSortingEnabled(FALSE); 01903 mui_list->setCurrentCell(0, 0); 01904 01905 m_procesacambios = FALSE; 01906 01907 for (int i = 0; i < mui_list->columnCount(); ++i) { 01908 QTableWidgetItem *it = mui_list->takeItem(row, i); 01909 QTableWidgetItem *ot = mui_list->takeItem(row - 1, i); 01910 mui_list->setItem(row, i, ot); 01911 mui_list->setItem(row - 1, i, it); 01912 } // end for 01913 mui_list->setCurrentCell(row - 1, col); 01915 mui_list->setSortingEnabled(m_sorting); 01916 01917 m_procesacambios = TRUE; 01918 _depura("END SubForm3::on_mui_list_ctrlSubir", 0); 01919 }
| void SubForm3::on_mui_list_ctrlBajar | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col |
Desactivamos el sorting debido a un error en las Qt4
Desactivamos el sorting debido a un error en las Qt4
Definition at line 1929 of file subform3.cpp.
References _depura(), FALSE, m_orden, m_procesacambios, m_sorting, Ui_SubForm3Base::mui_list, QTableWidget2::setSortingEnabled(), and TRUE.
01929 { 01930 _depura("SubForm3::on_mui_list_ctrlBajar", 0); 01931 if (! m_orden) 01932 return; 01933 if (row >= mui_list->rowCount() -2) 01934 return; 01936 mui_list->setSortingEnabled(FALSE); 01937 m_procesacambios = FALSE; 01938 01939 if (row != 0) 01940 mui_list->setCurrentCell(0, 0); 01941 else 01942 mui_list->setCurrentCell(mui_list->rowCount() - 1, 0); 01943 01944 for (int i = 0; i < mui_list->columnCount(); ++i) { 01945 QTableWidgetItem *it = mui_list->takeItem(row, i); 01946 mui_list->setItem(row, i, mui_list->takeItem(row + 1, i)); 01947 mui_list->setItem(row + 1, i, it); 01948 } // end for 01949 mui_list->setCurrentCell(row + 1, col); 01951 mui_list->setSortingEnabled(m_sorting); 01952 m_procesacambios = TRUE; 01953 01954 _depura("END SubForm3::on_mui_list_ctrlBajar", 0); 01955 }
| void SubForm3::on_mui_pagsiguiente_clicked | ( | ) | [virtual, slot] |
Definition at line 1961 of file subform3.cpp.
References _depura(), confquery(), and Ui_SubForm3Base::mui_paginaact.
01961 { 01962 _depura("SubForm3::on_mui_pagsiguiente_clicked", 0); 01963 int pag = mui_paginaact->text().toInt(); 01964 pag++; 01965 mui_paginaact->setValue(pag); 01966 confquery(); 01967 _depura("END SubForm3::on_mui_pagsiguiente_clicked", 0); 01968 }
| void SubForm3::on_mui_paganterior_clicked | ( | ) | [virtual, slot] |
Definition at line 1973 of file subform3.cpp.
References _depura(), confquery(), and Ui_SubForm3Base::mui_paginaact.
01973 { 01974 _depura("SubForm3::on_mui_paganterior_clicked", 0); 01975 int pag = mui_paginaact->text().toInt(); 01976 if (pag > 1) 01977 pag--; 01978 mui_paginaact->setValue(pag); 01979 confquery(); 01980 _depura("END SubForm3::on_mui_paganterior_clicked", 0); 01981 }
| void SubForm3::on_mui_list_itemDoubleClicked | ( | QTableWidgetItem * | item | ) | [virtual, slot] |
| item |
Definition at line 643 of file subform3.cpp.
References _depura(), item(), and itemDoubleClicked().
00643 { 00644 _depura("SubForm3::on_mui_list_itemDoubleClicked", 0); 00645 emit itemDoubleClicked(item); 00646 _depura("END SubForm3::on_mui_list_itemDoubleClicked", 0); 00647 }
| void SubForm3::on_mui_list_itemClicked | ( | QTableWidgetItem * | item | ) | [virtual, slot] |
| item |
Definition at line 653 of file subform3.cpp.
References _depura(), item(), and itemClicked().
00653 { 00654 _depura("SubForm3::on_mui_list_itemClicked", 0); 00655 emit itemClicked(item); 00656 _depura("END SubForm3::on_mui_list_itemClicked", 0); 00657 }
| void SubForm3::on_mui_list_cellDoubleClicked | ( | int | row, | |
| int | col | |||
| ) | [virtual, slot] |
| row | ||
| col |
Definition at line 665 of file subform3.cpp.
References _depura(), and cellDoubleClicked().
00665 { 00666 _depura("SubForm3::on_mui_list_cellDoubleClicked", 0); 00667 emit cellDoubleClicked(row, col); 00668 _depura("END SubForm3::on_mui_list_cellDoubleClicked", 0); 00669 }
| void SubForm3::toogleConfig | ( | ) | [virtual, slot] |
Definition at line 2111 of file subform3.cpp.
References _depura(), Ui_SubForm3Base::mui_configurador, and toogledConfig().
Referenced by contextMenuEvent(), on_mui_botonCerrar_clicked(), and SubForm3().
02111 { 02112 _depura("SubForm3::toogleConfig", 0); 02113 mui_configurador->setVisible(mui_configurador->isHidden()); 02114 emit toogledConfig(mui_configurador->isVisible()); 02115 _depura("END SubForm3::toogleConfig", 0); 02116 }
| void SubForm3::on_mui_botonCerrar_clicked | ( | ) | [virtual, slot] |
Definition at line 2122 of file subform3.cpp.
References _depura(), and toogleConfig().
02122 { 02123 _depura("SubForm3::on_mui_botonCerrar_clicked", 0); 02124 toogleConfig(); 02125 _depura("END SubForm3::on_mui_botonCerrar_clicked", 0); 02126 }
| void SubForm3::on_mui_list_itemChanged | ( | QTableWidgetItem * | it | ) | [virtual, slot] |
Definition at line 2132 of file subform3.cpp.
References _depura().
02132 { 02133 _depura("SubForm3::on_mui_list_itemChanged", 0); 02134 _depura("END SubForm3::on_mui_list_itemChanged", 0); 02135 }
| void SubForm3::toogledConfig | ( | bool | ) | [signal] |
Definition at line 149 of file moc_subform3.cpp.
Referenced by toogleConfig().
00150 { 00151 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; 00152 QMetaObject::activate(this, &staticMetaObject, 0, _a); 00153 }
| void SubForm3::editFinish | ( | int | , | |
| int | ||||
| ) | [signal] |
Definition at line 156 of file moc_subform3.cpp.
Referenced by on_mui_list_cellChanged().
00157 { 00158 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; 00159 QMetaObject::activate(this, &staticMetaObject, 1, _a); 00160 }
| void SubForm3::itemDoubleClicked | ( | QTableWidgetItem * | ) | [signal] |
Definition at line 163 of file moc_subform3.cpp.
Referenced by on_mui_list_cellRePosition(), and on_mui_list_itemDoubleClicked().
00164 { 00165 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; 00166 QMetaObject::activate(this, &staticMetaObject, 2, _a); 00167 }
| void SubForm3::itemClicked | ( | QTableWidgetItem * | ) | [signal] |
Definition at line 170 of file moc_subform3.cpp.
Referenced by on_mui_list_itemClicked().
00171 { 00172 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; 00173 QMetaObject::activate(this, &staticMetaObject, 3, _a); 00174 }
| void SubForm3::cellDoubleClicked | ( | int | row, | |
| int | col | |||
| ) | [signal] |
Definition at line 177 of file moc_subform3.cpp.
Referenced by on_mui_list_cellDoubleClicked(), and on_mui_list_cellRePosition().
00178 { 00179 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) }; 00180 QMetaObject::activate(this, &staticMetaObject, 4, _a); 00181 }
| void SubForm3::pintaMenu | ( | QMenu * | ) | [signal] |
Definition at line 184 of file moc_subform3.cpp.
Referenced by contextMenuEvent(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), and ListLinAsiento1View::ListLinAsiento1View().
00185 { 00186 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; 00187 QMetaObject::activate(this, &staticMetaObject, 5, _a); 00188 }
| void SubForm3::trataMenu | ( | QAction * | ) | [signal] |
Definition at line 191 of file moc_subform3.cpp.
Referenced by contextMenuEvent(), DiarioSubForm::DiarioSubForm(), ExtractoSubForm::ExtractoSubForm(), and ListLinAsiento1View::ListLinAsiento1View().
00192 { 00193 void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) }; 00194 QMetaObject::activate(this, &staticMetaObject, 6, _a); 00195 }
QString SubForm3::m_query [private] |
QString SubForm3::m_tablename [protected] |
Nombre de la tabla en la BD.
Definition at line 57 of file subform3.h.
Referenced by cargar(), guardar(), newSDBRecord(), SubForm2Bf::on_mui_list_cellChanged(), setDBTableName(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), and tableName().
QList<SHeader *> SubForm3::m_lcabecera [protected] |
Lista de encabezados del listado. Coordenadas X de la tabla.
Definition at line 59 of file subform3.h.
Referenced by addSHeader(), cabecera(), campoCompleto(), cargar(), columnDBfieldName(), existsHeader(), inicializar(), newSDBRecord(), pintaCabeceras(), pintar(), situarse(), and situarse1().
QList<SDBRecord *> SubForm3::m_lista [protected] |
Filas y contenido. Coordenadas Y de la tabla.
Definition at line 61 of file subform3.h.
Referenced by borrar(), cargar(), inicializar(), lista(), nuevoRegistro(), ponItemColorFondo(), and SubForm3().
QList<SDBRecord *> SubForm3::m_listaborrar [protected] |
Lista de subformularios marcados para ser borrados.
Definition at line 63 of file subform3.h.
Referenced by borrar(), guardar(), and SubForm3().
QString SubForm3::m_fileconfig [protected] |
Fichero de configuracion del subformulario.
Definition at line 65 of file subform3.h.
Referenced by cargaconfig(), cargaSpecs(), guardaconfig(), setDBTableName(), and setFileConfig().
QString SubForm3::m_campoid [protected] |
Campo Identificador de la tabla en la BD.
Definition at line 67 of file subform3.h.
Referenced by newSDBRecord(), and setDBCampoId().
bool SubForm3::m_insercion [protected] |
Indica si se pueden insertar nuevas filas o no.
Definition at line 69 of file subform3.h.
Referenced by borrar(), guardar(), nuevoRegistro(), on_mui_list_cellRePosition(), setinsercion(), and SubForm3().
bool SubForm3::m_primero [protected] |
Indica si ya se ha cargado la configuracion o no.
Definition at line 71 of file subform3.h.
Referenced by cargaconfig(), cargar(), inicializar(), pintar(), and SubForm3().
bool SubForm3::m_delete [protected] |
Indica si se pueden borrar registros.
Definition at line 73 of file subform3.h.
Referenced by contextMenuEvent(), BalanceSubForm::contextMenuEvent(), AsientoListSubform::contextMenuEvent(), and setDelete().
bool SubForm3::m_sorting [protected] |
Indica si el subformulario es ordenable o no.
Definition at line 75 of file subform3.h.
Referenced by cargar(), nuevoRegistro(), on_mui_list_ctrlBajar(), on_mui_list_ctrlSubir(), setSortingEnabled(), sortingEnabled(), and SubForm3().
bool SubForm3::m_orden [protected] |
Indica si se usa ordenacion por la base de datos. (Su uso implica que exista en la tabla el campo orden).
Definition at line 77 of file subform3.h.
Referenced by cargar(), guardar(), on_mui_list_ctrlBajar(), on_mui_list_ctrlSubir(), ordenEnabled(), setOrdenEnabled(), and SubForm3().
bool SubForm3::m_ordenporquery [protected] |
Indica que no se va aplicar ninguna ordenación a la consulta de la base de datos.
Definition at line 79 of file subform3.h.
Referenced by cargar(), setOrdenPorQuery(), and SubForm3().
bool SubForm3::m_procesacambios [protected] |
Indica si procesar cambios en las celdas o no.
Definition at line 81 of file subform3.h.
Referenced by cargar(), inicializar(), lineaat(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), on_mui_list_ctrlBajar(), on_mui_list_ctrlSubir(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), pintar(), procesaCambios(), setProcesarCambios(), SubForm3(), and ~SubForm3().
QString SubForm3::m_textoceldaParaRowSpan [protected] |
Texto de la celda que se coge para saber si se tienen que unir con RowSpan.
Definition at line 83 of file subform3.h.
Referenced by SubForm3().
QString SubForm3::m_columnaParaRowSpan [protected] |
Define que columna se va a coger para unir las filas que sean iguales.
Definition at line 85 of file subform3.h.
Referenced by cargar(), and setColumnToRowSpan().
int SubForm3::m_filaInicialRowSpan [protected] |
Se utiliza para saber en que fila comenzamos a contar para unir con RowSpan las filas que son iguales.
Definition at line 88 of file subform3.h.
Referenced by cargar(), and SubForm3().
QColor SubForm3::m_colorfondo1 [protected] |
QColor SubForm3::m_colorfondo2 [protected] |
Indica cual es el último campo (fila) que se ha editado.
Definition at line 95 of file subform3.h.
Referenced by SubForm3().