#include <subform2bf.h>
Inheritance diagram for QSubForm2BfDelegate:

Public Member Functions | |
| QSubForm2BfDelegate (QObject *) | |
| virtual | ~QSubForm2BfDelegate () |
| virtual void | setEditorData (QWidget *, const QModelIndex &index) const |
| virtual void | setModelData (QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const |
| virtual QWidget * | createEditor (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const |
| virtual bool | eventFilter (QObject *obj, QEvent *event) |
| virtual int | cerrarEditor (QWidget *editor) |
Protected Attributes | |
| SubForm2Bf * | m_subform |
Se encarga del control de los 'Widgets' de edición del sistema.
Definition at line 40 of file subform2bf.h.
| QSubForm2BfDelegate::QSubForm2BfDelegate | ( | QObject * | parent = 0 |
) |
| parent |
Definition at line 442 of file subform2bf.cpp.
References _depura(), and m_subform.
00442 : QItemDelegate(parent), PEmpresaBase() { 00443 _depura("QSubForm2BfDelegate::QSubForm2BfDelegate", 0); 00444 m_subform = (SubForm2Bf *) parent; 00445 installEventFilter(this); 00446 _depura("END QSubForm2BfDelegate::QSubForm2BfDelegate", 0); 00447 }
| QSubForm2BfDelegate::~QSubForm2BfDelegate | ( | ) | [virtual] |
Definition at line 453 of file subform2bf.cpp.
References _depura().
00453 { 00454 _depura("QSubForm2BfDelegate::~QSubForm2BfDelegate", 0); 00455 _depura("END QSubForm2BfDelegate::~QSubForm2BfDelegate", 0); 00456 }
| void QSubForm2BfDelegate::setEditorData | ( | QWidget * | editor, | |
| const QModelIndex & | index | |||
| ) | const [virtual] |
| editor | ||
| index |
Reimplemented in QSubForm3BfDelegate.
Definition at line 580 of file subform2bf.cpp.
References _depura(), SubForm3::cabecera(), m_subform, SHeader::nomcampo(), BusquedaAlmacenDelegate::set(), BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), QDoubleSpinBox2::setValue(), and SubForm3::tableName().
Referenced by QSubForm3BfDelegate::setEditorData().
00580 { 00581 _depura("QSubForm2BfDelegate::setEditorData", 0); 00582 _depura("QSubForm2BfDelegate::setEditorData", 0, "CurrentColumn: " + QString::number(index.column())); 00583 _depura("QSubForm2BfDelegate::setEditorData", 0, "CurrentRow: " + QString::number(index.row())); 00584 SHeader *linea; 00585 linea = m_subform->cabecera()->at(index.column()); 00586 if (linea->nomcampo() == "desc" + m_subform->tableName()) { 00587 QString data = index.model()->data(index, Qt::DisplayRole).toString(); 00588 QTextEditDelegate *textedit = qobject_cast<QTextEditDelegate*>(editor); 00589 textedit->setText(data); 00590 00591 } else if (linea->nomcampo() == "cant" + m_subform->tableName() 00592 || linea->nomcampo() == "pvp" + m_subform->tableName() 00593 || linea->nomcampo() == "descuento" + m_subform->tableName() 00594 || linea->nomcampo() == "reqeq" + m_subform->tableName() 00595 || linea->nomcampo() == "iva" + m_subform->tableName()) { 00596 00597 QString value = index.model()->data(index, Qt::DisplayRole).toString(); 00598 QDoubleSpinBox2 *spinBox = static_cast<QDoubleSpinBox2*>(editor); 00599 spinBox->setValue(value.toDouble()); 00600 spinBox->selectAll(); 00601 00602 } else if (linea->nomcampo() == "codigocompletoarticulo") { 00603 QString value = index.model()->data(index, Qt::DisplayRole).toString(); 00604 BusquedaArticuloDelegate *comboBox = static_cast<BusquedaArticuloDelegate*>(editor); 00605 comboBox->addItem(value); 00606 } else if (linea->nomcampo() == "desctipo_iva") { 00607 QString value = index.model()->data(index, Qt::DisplayRole).toString(); 00608 BusquedaTipoIVADelegate *comboBox = static_cast<BusquedaTipoIVADelegate*>(editor); 00609 comboBox->set(value); 00610 } else if (linea->nomcampo() == "nomtrabajador") { 00611 QString value = index.model()->data(index, Qt::DisplayRole).toString(); 00612 BusquedaTrabajadorDelegate *comboBox = static_cast<BusquedaTrabajadorDelegate*>(editor); 00613 comboBox->set(value); 00614 } else if (linea->nomcampo() == "nomalmacen") { 00615 QString value = index.model()->data(index, Qt::DisplayRole).toString(); 00616 BusquedaAlmacenDelegate *comboBox = static_cast<BusquedaAlmacenDelegate*>(editor); 00617 comboBox->set(value); 00618 } else { 00619 QItemDelegate::setEditorData(editor, index); 00620 } // end if 00621 _depura("END QSubForm2BfDelegate::setEditorData", 0); 00622 }
| void QSubForm2BfDelegate::setModelData | ( | QWidget * | editor, | |
| QAbstractItemModel * | model, | |||
| const QModelIndex & | index | |||
| ) | const [virtual] |
| editor | ||
| model | ||
| index |
Si la fila o columna pasadas son inválidas salimos.
Reimplemented in QSubForm3BfDelegate.
Definition at line 524 of file subform2bf.cpp.
References _depura(), SubForm3::cabecera(), m_subform, SHeader::nomcampo(), and SubForm3::tableName().
Referenced by QSubForm3BfDelegate::setModelData().
00524 { 00525 _depura("QSubForm2BfDelegate::setModelData", 0); 00526 _depura("QSubForm2BfDelegate::setModelData", 0, "CurrentColumn: " + QString::number(index.column())); 00527 _depura("QSubForm2BfDelegate::setModelData", 0, "CurrentRow: " + QString::number(index.row())); 00528 00530 if (index.column() < 0 || index.row() < 0) 00531 return; 00532 00533 SHeader *linea; 00534 linea = m_subform->cabecera()->at(index.column()); 00535 if (linea->nomcampo() == "desc" + m_subform->tableName()) { 00536 QTextEditDelegate *textedit = qobject_cast<QTextEditDelegate *>(editor); 00537 model->setData(index, textedit->toPlainText()); 00538 return; 00539 00540 } else if (linea->nomcampo() == "cant" + m_subform->tableName() 00541 || linea->nomcampo() == "pvp" + m_subform->tableName() 00542 || linea->nomcampo() == "descuento" + m_subform->tableName() 00543 || linea->nomcampo() == "reqeq" + m_subform->tableName() 00544 || linea->nomcampo() == "iva" + m_subform->tableName()) { 00545 00546 QDoubleSpinBox2 *spinBox = static_cast<QDoubleSpinBox2*>(editor); 00547 spinBox->interpretText(); 00548 QString value = spinBox->text(); 00549 model->setData(index, value); 00550 00551 } else if (linea->nomcampo() == "codigocompletoarticulo") { 00552 BusquedaArticuloDelegate *comboBox = static_cast<BusquedaArticuloDelegate*>(editor); 00553 QString value = comboBox->currentText(); 00554 value = value.left(value.indexOf(".-")); 00555 model->setData(index, value); 00556 } else if (linea->nomcampo() == "desctipo_iva") { 00557 BusquedaTipoIVADelegate *comboBox = static_cast<BusquedaTipoIVADelegate*>(editor); 00558 QString value = comboBox->currentText(); 00559 model->setData(index, value); 00560 } else if (linea->nomcampo() == "nomtrabajador") { 00561 BusquedaTrabajadorDelegate *comboBox = static_cast<BusquedaTrabajadorDelegate*>(editor); 00562 QString value = comboBox->currentText(); 00563 model->setData(index, value); 00564 } else if (linea->nomcampo() == "nomalmacen") { 00565 BusquedaAlmacenDelegate *comboBox = static_cast<BusquedaAlmacenDelegate*>(editor); 00566 QString value = comboBox->currentText(); 00567 model->setData(index, value); 00568 } else { 00569 QItemDelegate::setModelData(editor, model, index); 00570 } // end if 00571 _depura("END QSubForm2BfDelegate::setModelData", 0); 00572 }
| QWidget * QSubForm2BfDelegate::createEditor | ( | QWidget * | parent, | |
| const QStyleOptionViewItem & | option, | |||
| const QModelIndex & | index | |||
| ) | const [virtual] |
| parent | ||
| option | ||
| index |
es un numero y se alinea a la derecha.
Reimplemented in QSubForm3BfDelegate.
Definition at line 465 of file subform2bf.cpp.
References _depura(), SubForm3::cabecera(), PEmpresaBase::empresaBase(), m_subform, SHeader::nomcampo(), and SubForm3::tableName().
Referenced by QSubForm3BfDelegate::createEditor().
00465 { 00466 _depura("QSubForm2BfDelegate::createEditor", 0); 00467 SHeader *linea; 00468 linea = m_subform->cabecera()->at(index.column()); 00469 _depura("QSubForm2BfDelegate::createEditor", 0, "CurrentColumn: " + QString::number(index.column())); 00470 _depura("QSubForm2BfDelegate::createEditor", 0, "CurrentRow" + QString::number(index.row())); 00471 00472 if (linea->nomcampo() == "desc" + m_subform->tableName()) { 00473 QTextEditDelegate *editor = new QTextEditDelegate(parent); 00474 editor->setObjectName("QTextEditDelegate"); 00475 return editor; 00476 00477 } else if (linea->nomcampo() == "cant" + m_subform->tableName() 00478 || linea->nomcampo() == "pvp" + m_subform->tableName() 00479 || linea->nomcampo() == "descuento" + m_subform->tableName() 00480 || linea->nomcampo() == "iva" + m_subform->tableName() 00481 || linea->nomcampo() == "reqeq" + m_subform->tableName()) { 00482 00483 QDoubleSpinBox2 *editor = new QDoubleSpinBox2(parent); 00484 editor->setMinimum(-1000000); 00485 editor->setMaximum(1000000); 00486 return editor; 00487 00488 } else if (linea->nomcampo() == "codigocompletoarticulo") { 00489 BusquedaArticuloDelegate *editor = new BusquedaArticuloDelegate(parent); 00490 editor->setEmpresaBase((Company *)m_subform->empresaBase()); 00491 return editor; 00492 } else if (linea->nomcampo() == "desctipo_iva") { 00493 BusquedaTipoIVADelegate *editor = new BusquedaTipoIVADelegate(parent); 00494 editor->setEmpresaBase((Company *)m_subform->empresaBase()); 00495 return editor; 00496 } else if (linea->nomcampo() == "nomtrabajador") { 00497 BusquedaTrabajadorDelegate *editor = new BusquedaTrabajadorDelegate(parent); 00498 editor->setEmpresaBase((Company *)m_subform->empresaBase()); 00499 return editor; 00500 } else if (linea->nomcampo() == "nomalmacen") { 00501 BusquedaAlmacenDelegate *editor = new BusquedaAlmacenDelegate(parent); 00502 editor->setEmpresaBase((Company *)m_subform->empresaBase()); 00503 return editor; 00504 } else { 00505 // QWidget *it = QItemDelegate::createEditor(parent, option, index); 00506 // if (linea->tipo() == DBint) { 00508 // } else { 00509 00510 // } // end if 00511 return QItemDelegate::createEditor(parent, option, index); 00512 } // end if 00513 _depura("END QSubForm2BfDelegate::createEditor", 0); 00514 }
| bool QSubForm2BfDelegate::eventFilter | ( | QObject * | obj, | |
| QEvent * | event | |||
| ) | [virtual] |
| obj | ||
| event |
Si es un release de tecla se hace la funcionalidad especificada.
Anulamos el caso de una pulsacion de tabulador o de enter
En caso de pulsacion de un retorno de carro o similar procesamos por nuestra cuenta.
Definition at line 631 of file subform2bf.cpp.
References _depura(), m_subform, Ui_SubForm3Base::mui_list, and TRUE.
00631 { 00633 if (event->type() == QEvent::KeyPress) { 00634 _depura("QSubForm2BfDelegate::eventFilter", 0, obj->objectName() + " --> " + QString::number(event->type())); 00635 QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); 00636 int key = keyEvent->key(); 00637 _depura("QSubForm2BfDelegate::key = : ", 0, QString::number(key)); 00638 Qt::KeyboardModifiers mod = keyEvent->modifiers(); 00640 switch (key) { 00641 case Qt::Key_Return: 00642 case Qt::Key_Enter: 00643 if (obj->objectName() == "QTextEditDelegate") { 00644 obj->event(event); 00645 return TRUE; 00646 } // end if 00647 case Qt::Key_Tab: 00648 return TRUE; 00649 } // end switch 00650 return QItemDelegate::eventFilter(obj, event); 00651 } // end if 00652 00653 if (event->type() == QEvent::KeyRelease) { 00654 _depura("QSubForm2BfDelegate::eventFilter", 0, obj->objectName() + " --> " + QString::number(event->type())); 00655 QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); 00656 int key = keyEvent->key(); 00657 _depura("QSubForm2BfDelegate::key = : ", 0, QString::number(key)); 00658 Qt::KeyboardModifiers mod = keyEvent->modifiers(); 00660 switch (key) { 00661 case Qt::Key_Return: 00662 case Qt::Key_Enter: 00663 if (obj->objectName() == "QTextEditDelegate") { 00664 obj->event(event); 00665 return TRUE; 00666 } // end if 00667 case Qt::Key_Tab: 00668 QApplication::sendEvent(m_subform->mui_list, event); 00669 return TRUE; 00670 } // end switch 00671 return QItemDelegate::eventFilter(obj, event); 00672 } // end if 00673 00674 return QItemDelegate::eventFilter(obj, event); 00675 }
| int QSubForm2BfDelegate::cerrarEditor | ( | QWidget * | editor | ) | [virtual] |
| editor |
Definition at line 683 of file subform2bf.cpp.
References _depura().
Referenced by SubForm2Bf::cerrarEditor().
00683 { 00684 _depura("QSubForm2BfDelegate::cerrarEditor", 0); 00685 emit closeEditor(editor, QAbstractItemDelegate::NoHint); 00686 _depura("END QSubForm2BfDelegate::cerrarEditor", 0); 00687 return 0; 00688 }
SubForm2Bf* QSubForm2BfDelegate::m_subform [protected] |
Definition at line 42 of file subform2bf.h.
Referenced by createEditor(), QSubForm3BfDelegate::createEditor(), eventFilter(), QSubForm2BfDelegate(), setEditorData(), QSubForm3BfDelegate::setEditorData(), setModelData(), and QSubForm3BfDelegate::setModelData().
1.5.1