void PERPMainWindow::openForm(const QString &actionName) { QString tableName = actionName; tableName.replace("table_", ""); QString formName = QString("mdiform_%1").arg(tableName); if ( d->m_mapeoVentanas.contains(formName) ) { d->m_mdiArea->setActiveSubWindow(d->m_mapeoVentanas.value(formName)); return; } DBFormDlg *dlg = new DBFormDlg(tableName, this); if ( dlg->openSuccess() ) { // Muy importante para el mapeo MDI dlg->setObjectName(formName); dlg->setAttribute(Qt::WA_DeleteOnClose); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); dlg->init(); QApplication::restoreOverrideCursor(); QMdiSubWindow *subWin = d->m_mdiArea->addSubWindow(dlg); d->m_mapeoVentanas.insert(formName, subWin); subWin->setOption(QMdiSubWindow::RubberBandResize, true); subWin->setOption(QMdiSubWindow::RubberBandMove, true); // Guardamos una referencia al objeto subWin->setAttribute(Qt::WA_DeleteOnClose); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); subWin->show(); QApplication::restoreOverrideCursor(); connect (dlg, SIGNAL(closingWindow(QWidget *)), this, SLOT(closeSubWindow(QWidget *))); connect (subWin, SIGNAL(aboutToActivate()), dlg, SLOT(refreshFilterTableView())); configuracion.applyDimensionForm(subWin); } else {
int QMdiSubWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: windowStateChanged((*reinterpret_cast< Qt::WindowStates(*)>(_a[1])),(*reinterpret_cast< Qt::WindowStates(*)>(_a[2]))); break; case 1: aboutToActivate(); break; case 2: showSystemMenu(); break; case 3: showShaded(); break; case 4: d_func()->_q_updateStaysOnTopHint(); break; case 5: d_func()->_q_enterInteractiveMode(); break; case 6: d_func()->_q_processFocusChanged((*reinterpret_cast< QWidget*(*)>(_a[1])),(*reinterpret_cast< QWidget*(*)>(_a[2]))); break; } _id -= 7; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = keyboardSingleStep(); break; case 1: *reinterpret_cast< int*>(_v) = keyboardPageStep(); break; } _id -= 2; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setKeyboardSingleStep(*reinterpret_cast< int*>(_v)); break; case 1: setKeyboardPageStep(*reinterpret_cast< int*>(_v)); break; } _id -= 2; } else if (_c == QMetaObject::ResetProperty) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 2; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 2; } #endif // QT_NO_PROPERTIES return _id; }