/* QImage StylesFilteredModelBase::stylePreview(QModelIndex &index, const QSize &size) { if (!index.isValid()) { return QImage(); } return m_sourceModel->stylePreview(index, size); //TODO be carefull there. this is assuming the sourceModel is only using the internalId, and the index's internalId matches the model's } */ void StylesFilteredModelBase::setStylesModel(AbstractStylesModel *sourceModel) { if (m_sourceModel == sourceModel) { return; } if (m_sourceModel) { disconnect(m_sourceModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(rowsAboutToBeInserted(QModelIndex,int,int))); disconnect(m_sourceModel, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(m_sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int))); disconnect(m_sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int))); disconnect(m_sourceModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(rowsMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(m_sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int))); disconnect(m_sourceModel, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); disconnect(m_sourceModel, SIGNAL(modelReset()), this, SLOT(modelReset())); } m_sourceModel = sourceModel; connect(m_sourceModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(rowsAboutToBeInserted(QModelIndex,int,int))); connect(m_sourceModel, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(m_sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int))); connect(m_sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsInserted(QModelIndex,int,int))); connect(m_sourceModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(rowsMoved(QModelIndex,int,int,QModelIndex,int))); connect(m_sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int))); connect(m_sourceModel, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); connect(m_sourceModel, SIGNAL(modelReset()), this, SLOT(modelReset())); beginResetModel(); createMapping(); endResetModel(); }
void ModelSpy::startSpying() { // If a signal is connected to a slot multiple times, the slot gets called multiple times. // As we're doing start and stop spying all the time, we disconnect here first to make sure. stopSpying(); m_isSpying = true; connect(m_model, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), SLOT(rowsAboutToBeInserted(const QModelIndex &, int, int))); connect(m_model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), SLOT(rowsInserted(const QModelIndex &, int, int))); connect(m_model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), SLOT(rowsAboutToBeRemoved(const QModelIndex &, int, int))); connect(m_model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), SLOT(rowsRemoved(const QModelIndex &, int, int))); connect(m_model, SIGNAL(layoutAboutToBeChanged()), SLOT(layoutAboutToBeChanged())); connect(m_model, SIGNAL(layoutChanged()), SLOT(layoutChanged())); connect(m_model, SIGNAL(modelAboutToBeReset()), SLOT(modelAboutToBeReset())); connect(m_model, SIGNAL(modelReset()), SLOT(modelReset())); connect(m_model, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int,const QModelIndex &, int)), SLOT(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); connect(m_model, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), SLOT(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); connect(m_model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), SLOT(dataChanged(const QModelIndex &, const QModelIndex &))); connect(m_model, SIGNAL(destroyed()), SLOT(modelDestroyed())); }
XUPDynamicFolderItem::XUPDynamicFolderItem( const QDomElement& node, XUPItem* parent ) : QObject( parent->project() ), XUPItem( node, parent ) { mFSModel = new FileSystemModel( this ); mFSModel->setNameFilterDisables( false ); connect( mFSModel, SIGNAL( columnsAboutToBeInserted( const QModelIndex&, int, int ) ), this, SLOT( columnsAboutToBeInserted( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( columnsAboutToBeMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ), this, SLOT( columnsAboutToBeMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ) ); connect( mFSModel, SIGNAL( columnsAboutToBeRemoved( const QModelIndex&, int, int ) ), this, SLOT( columnsAboutToBeRemoved( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( columnsInserted( const QModelIndex&, int, int ) ), this, SLOT( columnsInserted( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( columnsMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ), this, SLOT( columnsMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ) ); connect( mFSModel, SIGNAL( columnsRemoved( const QModelIndex&, int, int ) ), this, SLOT( columnsRemoved( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( dataChanged( const QModelIndex&, const QModelIndex& ) ), this, SLOT( dataChanged( const QModelIndex&, const QModelIndex& ) ) ); connect( mFSModel, SIGNAL( headerDataChanged( Qt::Orientation, int, int ) ), this, SLOT( headerDataChanged( Qt::Orientation, int, int ) ) ); connect( mFSModel, SIGNAL( layoutAboutToBeChanged() ), this, SLOT( layoutAboutToBeChanged() ) ); connect( mFSModel, SIGNAL( layoutChanged() ), this, SLOT( layoutChanged() ) ); connect( mFSModel, SIGNAL( modelAboutToBeReset() ), this, SLOT( modelAboutToBeReset() ) ); connect( mFSModel, SIGNAL( modelReset() ), this, SLOT( modelReset() ) ); connect( mFSModel, SIGNAL( rowsAboutToBeInserted( const QModelIndex&, int, int ) ), this, SLOT( rowsAboutToBeInserted( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( rowsAboutToBeMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ), this, SLOT( rowsAboutToBeMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ) ); connect( mFSModel, SIGNAL( rowsAboutToBeRemoved( const QModelIndex&, int, int ) ), this, SLOT( rowsAboutToBeRemoved( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( rowsInserted( const QModelIndex&, int, int ) ), this, SLOT( rowsInserted( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( rowsMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ), this, SLOT( rowsMoved( const QModelIndex&, int, int, const QModelIndex&, int ) ) ); connect( mFSModel, SIGNAL( rowsRemoved( const QModelIndex&, int, int ) ), this, SLOT( rowsRemoved( const QModelIndex&, int, int ) ) ); connect( mFSModel, SIGNAL( rootPathChanged( const QString& ) ), this, SLOT( rootPathChanged( const QString& ) ) ); connect( mFSModel, SIGNAL( directoryLoaded( const QString& ) ), this, SLOT( directoryLoaded( const QString& ) ) ); }
void BookmarkFilterModel::setSourceModel(QAbstractItemModel *_sourceModel) { beginResetModel(); QAbstractProxyModel::setSourceModel(sourceModel); sourceModel = qobject_cast<BookmarkModel*> (_sourceModel); connect(sourceModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(changed(QModelIndex, QModelIndex))); connect(sourceModel, SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(rowsInserted(QModelIndex, int, int))); connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex, int, int)), this, SLOT(rowsAboutToBeRemoved(QModelIndex, int, int))); connect(sourceModel, SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(rowsRemoved(QModelIndex, int, int))); connect(sourceModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(layoutAboutToBeChanged())); connect(sourceModel, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); connect(sourceModel, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); connect(sourceModel, SIGNAL(modelReset()), this, SLOT(modelReset())); if (sourceModel) setupCache(sourceModel->index(0, 0, QModelIndex())); endResetModel(); }
void ModelSpy::stopSpying() { m_isSpying = false; if (!m_model) return; disconnect(m_model, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(rowsAboutToBeInserted(const QModelIndex &, int, int))); disconnect(m_model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(rowsInserted(const QModelIndex &, int, int))); disconnect(m_model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(rowsAboutToBeRemoved(const QModelIndex &, int, int))); disconnect(m_model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(rowsRemoved(const QModelIndex &, int, int))); disconnect(m_model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(layoutAboutToBeChanged())); disconnect(m_model, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); disconnect(m_model, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); disconnect(m_model, SIGNAL(modelReset()), this, SLOT(modelReset())); disconnect(m_model, SIGNAL(rowsAboutToBeMoved(const QModelIndex &, int, int,const QModelIndex &, int)), this, SLOT(rowsAboutToBeMoved(const QModelIndex &, int, int, const QModelIndex &, int))); disconnect(m_model, SIGNAL(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int)), this, SLOT(rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int))); disconnect(m_model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &))); disconnect(m_model, SIGNAL(destroyed(QObject *)), this, SLOT(modelDestroyed())); }
/*! Connect to all of the models signals. Whenever anything happens recheck everything. */ ModelTest::ModelTest ( QAbstractItemModel *_model, QObject *parent ) : QObject ( parent ), model ( _model ), fetchingMore ( false ) { Q_ASSERT ( model ); connect ( model, SIGNAL (columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (columnsInserted(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (columnsRemoved(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (dataChanged(QModelIndex,QModelIndex)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (headerDataChanged(Qt::Orientation,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (layoutAboutToBeChanged()), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (layoutChanged()), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (modelReset()), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (modelAboutToBeReset()), this, SLOT (modelAboutToBeReset()) ); connect ( model, SIGNAL (modelReset()), this, SLOT (modelReset()) ); connect ( model, SIGNAL (rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (rowsInserted(QModelIndex,int,int)), this, SLOT (runAllTests()) ); connect ( model, SIGNAL (rowsRemoved(QModelIndex,int,int)), this, SLOT (runAllTests()) ); // Special checks for inserting/removing connect ( model, SIGNAL (layoutAboutToBeChanged()), this, SLOT (layoutAboutToBeChanged()) ); connect ( model, SIGNAL (layoutChanged()), this, SLOT (layoutChanged()) ); connect ( model, SIGNAL (rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT (rowsAboutToBeInserted(QModelIndex,int,int)) ); connect ( model, SIGNAL (rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT (rowsAboutToBeRemoved(QModelIndex,int,int)) ); connect ( model, SIGNAL (rowsInserted(QModelIndex,int,int)), this, SLOT (rowsInserted(QModelIndex,int,int)) ); connect ( model, SIGNAL (rowsRemoved(QModelIndex,int,int)), this, SLOT (rowsRemoved(QModelIndex,int,int)) ); connect ( model, SIGNAL (rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT (rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)) ); connect ( model, SIGNAL (rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT (rowsMoved(QModelIndex,int,int,QModelIndex,int)) ); runAllTests(); }
void createSqlModel() { _sql = new QSqlTableModel(q, ddiBase().database()); _sql->setTable(ddiBase().table(Constants::Table_INTERACTORS)); _sql->setEditStrategy(QSqlTableModel::OnManualSubmit); // _sql->setSort(Constants::INTERACTOR_UID, Qt::AscendingOrder); QObject::connect(_sql, SIGNAL(primeInsert(int,QSqlRecord&)), q, SLOT(populateNewRowWithDefault(int, QSqlRecord&))); QObject::connect(_sql, SIGNAL(layoutAboutToBeChanged()), q, SIGNAL(layoutAboutToBeChanged())); QObject::connect(_sql, SIGNAL(layoutChanged()), q, SIGNAL(layoutChanged())); QObject::connect(_sql, SIGNAL(modelAboutToBeReset()), q, SIGNAL(modelAboutToBeReset())); QObject::connect(_sql, SIGNAL(modelReset()), q, SIGNAL(modelReset())); }
void CurrentCelestialBodyPluginModel::setSourceModel(PluginModel* sourceModel) { QAbstractProxyModel::setSourceModel(sourceModel); pluginModel = sourceModel; connect(sourceModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SIGNAL(dataChanged(QModelIndex,QModelIndex))); connect(sourceModel, SIGNAL(modelAboutToBeReset()), SIGNAL(modelAboutToBeReset())); connect(sourceModel, SIGNAL(modelReset()), SIGNAL(modelReset())); connect(sourceModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), SIGNAL(rowsInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), SIGNAL(rowsRemoved(QModelIndex,int,int))); }
QAbstractListModel* ProvidersModel::createListModel() { ProvidersListModel* pListModel = new ProvidersListModel(m_providers, this); connect(this, SIGNAL(modelAboutToBeReset()), pListModel, SIGNAL(modelAboutToBeReset())); connect(this, SIGNAL(modelReset()), pListModel, SIGNAL(modelReset())); connect(this, SIGNAL(layoutAboutToBeChanged()), pListModel, SIGNAL(modelReset())); connect(this, SIGNAL(layoutChanged()), pListModel, SIGNAL(modelReset())); connect(this, SIGNAL(dataChanged(QModelIndex,QModelIndex)), pListModel, SLOT(emitDataChanged(QModelIndex,QModelIndex))); connect(this, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), pListModel, SLOT(emitRowsAboutToBeInserted(QModelIndex,int,int))); connect(this, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), pListModel, SLOT(emitRowsAboutToBeRemoved(QModelIndex,int,int))); connect(this, SIGNAL(rowsInserted(QModelIndex,int,int)), pListModel, SLOT(emitRowsInserted(QModelIndex,int,int))); connect(this, SIGNAL(rowsRemoved(QModelIndex,int,int)), pListModel, SLOT(emitRowsRemoved(QModelIndex,int,int))); return pListModel; }
void KConcatenateRowsProxyModel::addSourceModel(QAbstractItemModel *sourceModel) { Q_ASSERT(sourceModel); Q_ASSERT(!d->m_models.contains(sourceModel)); connect(sourceModel, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(slotDataChanged(QModelIndex,QModelIndex,QVector<int>))); connect(sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(slotRowsInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(slotRowsRemoved(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(slotRowsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(slotRowsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel, SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(slotColumnsInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(slotColumnsRemoved(QModelIndex,int,int))); connect(sourceModel, SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(slotColumnsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(slotColumnsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel, SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>, QAbstractItemModel::LayoutChangeHint)), this, SLOT(slotSourceLayoutAboutToBeChanged(QList<QPersistentModelIndex>, QAbstractItemModel::LayoutChangeHint))); connect(sourceModel, SIGNAL(layoutChanged(QList<QPersistentModelIndex>, QAbstractItemModel::LayoutChangeHint)), this, SLOT(slotSourceLayoutChanged(QList<QPersistentModelIndex>, QAbstractItemModel::LayoutChangeHint))); connect(sourceModel, SIGNAL(modelAboutToBeReset()), this, SLOT(slotModelAboutToBeReset())); connect(sourceModel, SIGNAL(modelReset()), this, SLOT(slotModelReset())); const int newRows = sourceModel->rowCount(); if (newRows > 0) { beginInsertRows(QModelIndex(), d->m_rowCount, d->m_rowCount + newRows - 1); } d->m_rowCount += newRows; d->m_models.append(sourceModel); if (newRows > 0) { endInsertRows(); } }
int QAbstractItemModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: dataChanged((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< const QModelIndex(*)>(_a[2]))); break; case 1: headerDataChanged((*reinterpret_cast< Qt::Orientation(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 2: layoutChanged(); break; case 3: layoutAboutToBeChanged(); break; case 4: rowsAboutToBeInserted((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 5: rowsInserted((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 6: rowsAboutToBeRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 7: rowsRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 8: columnsAboutToBeInserted((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 9: columnsInserted((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 10: columnsAboutToBeRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 11: columnsRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 12: modelAboutToBeReset(); break; case 13: modelReset(); break; case 14: rowsAboutToBeMoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QModelIndex(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break; case 15: rowsMoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QModelIndex(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break; case 16: columnsAboutToBeMoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QModelIndex(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break; case 17: columnsMoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< const QModelIndex(*)>(_a[4])),(*reinterpret_cast< int(*)>(_a[5]))); break; case 18: { bool _r = submit(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 19: revert(); break; default: ; } _id -= 20; } return _id; }
void TestTableView::setModel( QAbstractItemModel* model ) { QTableView::verticalHeader()->setModel( model ); QTableView::horizontalHeader()->setModel( model ); QAbstractItemView::setModel( model ); if ( model ) { //QAbstractItemModel signals QObject::connect( QTableView::model(), SIGNAL( modelAboutToBeReset() ), this, SLOT( onModelChanged() ) ); } }
void FlatProxyModel::setSourceModel(QAbstractItemModel *sourceModel) { if (QAbstractProxyModel::sourceModel()) { disconnect(QAbstractProxyModel::sourceModel(), 0, this, 0); } QAbstractProxyModel::setSourceModel(sourceModel); emit layoutAboutToBeChanged(); removeSubTree(QModelIndex(), false /* don't emit removeRows() */); insertSubTree(QModelIndex(), false /* don't emit insertRows() */); emit layoutChanged(); if (sourceModel) { connect(sourceModel, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(on_columnsAboutToBeInserted(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(on_columnsAboutToBeRemoved(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(on_columnsInserted(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(on_columnsRemoved(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(on_dataChanged(const QModelIndex &, const QModelIndex &))); // on_headerDataChanged(Qt::Orientation orientation, int first, int last) connect(sourceModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(on_layoutAboutToBeChanged())); connect(sourceModel, SIGNAL(layoutChanged()), this, SLOT(on_layoutChanged())); connect(sourceModel, SIGNAL(modelAboutToBeReset()), this, SLOT(on_modelAboutToBeReset())); // void on_modelReset() connect(sourceModel, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(on_rowsAboutToBeInserted(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(on_rowsAboutToBeRemoved(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(on_rowsInserted(const QModelIndex &, int, int))); connect(sourceModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(on_rowsRemoved(const QModelIndex &, int, int))); } }
QgsFieldExpressionWidget::QgsFieldExpressionWidget( QWidget *parent ) : QWidget( parent ) , mExpressionDialogTitle( tr( "Expression dialog" ) ) , mDa( nullptr ) , mExpressionContextCallback( nullptr ) , mExpressionContextCallbackContext( nullptr ) { QHBoxLayout* layout = new QHBoxLayout( this ); layout->setContentsMargins( 0, 0, 0, 0 ); mCombo = new QComboBox( this ); mCombo->setEditable( true ); mCombo->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Minimum ); int width = mCombo->minimumSizeHint().width(); mCombo->setMinimumWidth( width ); mFieldProxyModel = new QgsFieldProxyModel( mCombo ); mFieldProxyModel->sourceFieldModel()->setAllowExpression( true ); mCombo->setModel( mFieldProxyModel ); mButton = new QToolButton( this ); mButton->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); mButton->setIcon( QgsApplication::getThemeIcon( "/mIconExpression.svg" ) ); layout->addWidget( mCombo ); layout->addWidget( mButton ); // give focus to the combo // hence if the widget is used as a delegate // it will allow pressing on the expression dialog button setFocusProxy( mCombo ); connect( mCombo->lineEdit(), SIGNAL( textEdited( QString ) ), this, SLOT( expressionEdited( QString ) ) ); connect( mCombo->lineEdit(), SIGNAL( editingFinished() ), this, SLOT( expressionEditingFinished() ) ); connect( mCombo, SIGNAL( activated( int ) ), this, SLOT( currentFieldChanged() ) ); connect( mButton, SIGNAL( clicked() ), this, SLOT( editExpression() ) ); connect( mFieldProxyModel, SIGNAL( modelAboutToBeReset() ), this, SLOT( beforeResetModel() ) ); connect( mFieldProxyModel, SIGNAL( modelReset() ), this, SLOT( afterResetModel() ) ); // NW TODO - Fix in 2.6 // connect( mCombo->lineEdit(), SIGNAL( returnPressed() ), this, SIGNAL( returnPressed() ) ); mExpressionContext.reset( new QgsExpressionContext() ); mExpressionContext->appendScope( QgsExpressionContextUtils::globalScope() ); mExpressionContext->appendScope( QgsExpressionContextUtils::projectScope() ); }
void KCMHotkeysPrivate::load() { // Start khotkeys KHotKeys::Daemon::start(); // disconnect the signals if (tree_view->selectionModel()) { QObject::disconnect( tree_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), q, SLOT(currentChanged(QModelIndex,QModelIndex)) ); } // Create a new model; tree_view->setModel(new KHotkeysModel); // Delete the old delete model; // Now use the old model = tree_view->model(); model->load(); global_settings->setModel(model); QObject::connect( model, SIGNAL(rowsRemoved(QModelIndex,int,int)), q, SLOT(slotChanged())); QObject::connect( model, SIGNAL(rowsInserted(QModelIndex,int,int)), q, SLOT(slotChanged())); QObject::connect( model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), q, SLOT(slotChanged())); QObject::connect( model, SIGNAL(modelAboutToBeReset()), q, SLOT(slotReset())); // reconnect the signals QObject::connect( tree_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), q, SLOT(currentChanged(QModelIndex,QModelIndex)) ); }
//----------------------------------------------------------------------------- void ctkModelTester::setModel(QAbstractItemModel *_model) { CTK_D(ctkModelTester); if (d->Model) { // disconnect d->Model->disconnect(this); d->AboutToBeInserted.clear(); d->AboutToBeRemoved.clear(); d->LayoutAboutToBeChanged.clear(); } if (_model) { connect(_model, SIGNAL(columnsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(onColumnsAboutToBeInserted(const QModelIndex& , int, int))); connect(_model, SIGNAL(columnsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(onColumnsAboutToBeRemoved(const QModelIndex& , int, int))); connect(_model, SIGNAL(columnsInserted(const QModelIndex &, int, int)), this, SLOT(onColumnsInserted(const QModelIndex& , int, int))); connect(_model, SIGNAL(columnsRemoved(const QModelIndex &, int, int)), this, SLOT(onColumnsRemoved(const QModelIndex& , int, int))); connect(_model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(onDataChanged(const QModelIndex& , const QModelIndex &))); connect(_model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(onLayoutAboutToBeChanged())); connect(_model, SIGNAL(layoutChanged()), this, SLOT(onLayoutChanged())); connect(_model, SIGNAL(modelAboutToBeReset()), this, SLOT(onModelAboutToBeReset())); connect(_model, SIGNAL(modelReset()), this, SLOT(onModelReset())); connect(_model, SIGNAL(rowsAboutToBeInserted(const QModelIndex &, int, int)), this, SLOT(onRowsAboutToBeInserted(const QModelIndex& , int, int))); connect(_model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), this, SLOT(onRowsAboutToBeRemoved(const QModelIndex& , int, int))); connect(_model, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(onRowsInserted(const QModelIndex& , int, int))); connect(_model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(onRowsRemoved(const QModelIndex& , int, int))); } d->Model = _model; this->testModel(); }
void ShowfotoDelegate::setModel(QAbstractItemModel* model) { Q_D(ShowfotoDelegate); // 1) We only need the model to invalidate model-index based caches on change // 2) We do not need to care for overlays. The view calls setActive() on them on model change if (model == d->currentModel) { return; } if (d->currentModel) { disconnect(d->currentModel, 0, this, 0); } d->currentModel = model; if (d->currentModel) { connect(d->currentModel, SIGNAL(layoutAboutToBeChanged()), this, SLOT(modelContentsChanged())); connect(d->currentModel, SIGNAL(modelAboutToBeReset()), this, SLOT(modelContentsChanged())); connect(d->currentModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(modelContentsChanged())); connect(d->currentModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(modelContentsChanged())); connect(d->currentModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(modelContentsChanged())); }
/*! \reimp */ void QIdentityProxyModel::setSourceModel(QAbstractItemModel* newSourceModel) { beginResetModel(); if (sourceModel()) { disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(_q_sourceRowsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(_q_sourceRowsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceRowsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceRowsRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(_q_sourceColumnsRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(_q_sourceColumnsMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(modelAboutToBeReset()), this, SLOT(_q_sourceModelAboutToBeReset())); disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(_q_sourceModelReset())); disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex))); disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), this, SLOT(_q_sourceLayoutAboutToBeChanged())); disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(_q_sourceLayoutChanged())); } QAbstractProxyModel::setSourceModel(newSourceModel); if (sourceModel()) { connect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), SLOT(_q_sourceRowsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), SLOT(_q_sourceRowsInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), SLOT(_q_sourceRowsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(_q_sourceRowsRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), SLOT(_q_sourceColumnsAboutToBeInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), SLOT(_q_sourceColumnsInserted(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), SLOT(_q_sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), SLOT(_q_sourceColumnsRemoved(QModelIndex,int,int))); connect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), SLOT(_q_sourceColumnsMoved(QModelIndex,int,int,QModelIndex,int))); connect(sourceModel(), SIGNAL(modelAboutToBeReset()), SLOT(_q_sourceModelAboutToBeReset())); connect(sourceModel(), SIGNAL(modelReset()), SLOT(_q_sourceModelReset())); connect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex))); connect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int))); connect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), SLOT(_q_sourceLayoutAboutToBeChanged())); connect(sourceModel(), SIGNAL(layoutChanged()), SLOT(_q_sourceLayoutChanged())); } endResetModel(); }
void QxtFlowViewPrivate::setModel(QAbstractItemModel * m) { if (model) { disconnect(this->model, SIGNAL(columnsAboutToBeInserted(const QModelIndex & , int , int)), this, SLOT(columnsAboutToBeInserted(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(columnsAboutToBeRemoved(const QModelIndex & , int , int)), this, SLOT(columnsAboutToBeRemoved(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(columnsInserted(const QModelIndex & , int , int)), this, SLOT(columnsInserted(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(columnsRemoved(const QModelIndex & , int , int)), this, SLOT(columnsRemoved(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(dataChanged(const QModelIndex & , const QModelIndex &)), this, SLOT(dataChanged(const QModelIndex & , const QModelIndex &))); disconnect(this->model, SIGNAL(headerDataChanged(Qt::Orientation , int , int)), this, SLOT(headerDataChanged(Qt::Orientation , int , int))); disconnect(this->model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(layoutAboutToBeChanged())); disconnect(this->model, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); disconnect(this->model, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); disconnect(this->model, SIGNAL(modelReset()), this, SLOT(modelReset())); disconnect(this->model, SIGNAL(rowsAboutToBeInserted(const QModelIndex & , int , int)), this, SLOT(rowsAboutToBeInserted(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex & , int , int)), this, SLOT(rowsAboutToBeRemoved(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(rowsInserted(const QModelIndex & , int , int)), this, SLOT(rowsInserted(const QModelIndex & , int , int))); disconnect(this->model, SIGNAL(rowsRemoved(const QModelIndex & , int , int)), this, SLOT(rowsRemoved(const QModelIndex & , int , int))); } model = m; if (model) { rootindex = model->parent(QModelIndex()); connect(this->model, SIGNAL(columnsAboutToBeInserted(const QModelIndex & , int , int)), this, SLOT(columnsAboutToBeInserted(const QModelIndex & , int , int))); connect(this->model, SIGNAL(columnsAboutToBeRemoved(const QModelIndex & , int , int)), this, SLOT(columnsAboutToBeRemoved(const QModelIndex & , int , int))); connect(this->model, SIGNAL(columnsInserted(const QModelIndex & , int , int)), this, SLOT(columnsInserted(const QModelIndex & , int , int))); connect(this->model, SIGNAL(columnsRemoved(const QModelIndex & , int , int)), this, SLOT(columnsRemoved(const QModelIndex & , int , int))); connect(this->model, SIGNAL(dataChanged(const QModelIndex & , const QModelIndex &)), this, SLOT(dataChanged(const QModelIndex & , const QModelIndex &))); connect(this->model, SIGNAL(headerDataChanged(Qt::Orientation , int , int)), this, SLOT(headerDataChanged(Qt::Orientation , int , int))); connect(this->model, SIGNAL(layoutAboutToBeChanged()), this, SLOT(layoutAboutToBeChanged())); connect(this->model, SIGNAL(layoutChanged()), this, SLOT(layoutChanged())); connect(this->model, SIGNAL(modelAboutToBeReset()), this, SLOT(modelAboutToBeReset())); connect(this->model, SIGNAL(modelReset()), this, SLOT(modelReset())); connect(this->model, SIGNAL(rowsAboutToBeInserted(const QModelIndex & , int , int)), this, SLOT(rowsAboutToBeInserted(const QModelIndex & , int , int))); connect(this->model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex & , int , int)), this, SLOT(rowsAboutToBeRemoved(const QModelIndex & , int , int))); connect(this->model, SIGNAL(rowsInserted(const QModelIndex & , int , int)), this, SLOT(rowsInserted(const QModelIndex & , int , int))); connect(this->model, SIGNAL(rowsRemoved(const QModelIndex & , int , int)), this, SLOT(rowsRemoved(const QModelIndex & , int , int))); } reset(); }
void WorkPackageProxyModel::setSourceModel( QAbstractItemModel *model ) { if ( sourceModel() ) { disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(sourceDataChanged(QModelIndex,QModelIndex))); /* disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation,int,int)));*/ disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SIGNAL(layoutChanged())); disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged()), this, SIGNAL(layoutAboutToBeChanged())); disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceRowsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); /* disconnect(sourceModel(), SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsInserted(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); disconnect(sourceModel(), SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsRemoved(QModelIndex,int,int))); */ disconnect(sourceModel(), SIGNAL(modelAboutToBeReset()), this, SLOT(sourceModelAboutToBeReset())); disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceModelReset())); disconnect(sourceModel(), SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); /* disconnect(sourceModel(), SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); disconnect(sourceModel(), SIGNAL(columnsMoved(QModelIndex&parent,int,int,QModelIndex,int)), this, SLOT(sourceColumnsMoved(QModelIndex&parent,int,int,QModelIndex,int)));*/ } QAbstractProxyModel::setSourceModel( model ); if ( model ) { connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(sourceDataChanged(QModelIndex,QModelIndex))); /* connect(model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(sourceHeaderDataChanged(Qt::Orientation,int,int)));*/ connect(model, SIGNAL(layoutChanged()), this, SIGNAL(layoutChanged())); connect(model, SIGNAL(layoutAboutToBeChanged()), this, SIGNAL(layoutAboutToBeChanged())); connect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeInserted(QModelIndex,int,int))); connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceRowsInserted(QModelIndex,int,int))); connect(model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsAboutToBeRemoved(QModelIndex,int,int))); connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceRowsRemoved(QModelIndex,int,int))); /* connect(model, SIGNAL(columnsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeInserted(QModelIndex,int,int))); connect(model, SIGNAL(columnsInserted(QModelIndex,int,int)), this, SLOT(sourceColumnsInserted(QModelIndex,int,int))); connect(model, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsAboutToBeRemoved(QModelIndex,int,int))); connect(model, SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(sourceColumnsRemoved(QModelIndex,int,int))); */ connect(model, SIGNAL(modelAboutToBeReset()), this, SLOT(sourceModelAboutToBeReset())); connect(model, SIGNAL(modelReset()), this, SLOT(sourceModelReset())); connect(model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceRowsMoved(QModelIndex,int,int,QModelIndex,int))); /* connect(model, SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(sourceColumnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); connect(model, SIGNAL(columnsMoved(QModelIndex&parent,int,int,QModelIndex,int)), this, SLOT(sourceColumnsMoved(QModelIndex&parent,int,int,QModelIndex,int)));*/ } }
void MergeModel::AddModel (QAbstractItemModel *model) { if (!model) return; Models_.push_back (model); connect (model, SIGNAL (columnsAboutToBeInserted (const QModelIndex&, int, int)), this, SLOT (handleColumnsAboutToBeInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsAboutToBeRemoved (const QModelIndex&, int, int)), this, SLOT (handleColumnsAboutToBeRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsInserted (const QModelIndex&, int, int)), this, SLOT (handleColumnsInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (columnsRemoved (const QModelIndex&, int, int)), this, SLOT (handleColumnsRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (dataChanged (const QModelIndex&, const QModelIndex&)), this, SLOT (handleDataChanged (const QModelIndex&, const QModelIndex&))); connect (model, SIGNAL (layoutAboutToBeChanged ()), this, SLOT (handleModelAboutToBeReset ())); connect (model, SIGNAL (layoutChanged ()), this, SLOT (handleModelReset ())); connect (model, SIGNAL (modelAboutToBeReset ()), this, SLOT (handleModelAboutToBeReset ())); connect (model, SIGNAL (modelReset ()), this, SLOT (handleModelReset ())); connect (model, SIGNAL (rowsAboutToBeInserted (const QModelIndex&, int, int)), this, SLOT (handleRowsAboutToBeInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsAboutToBeRemoved (const QModelIndex&, int, int)), this, SLOT (handleRowsAboutToBeRemoved (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsInserted (const QModelIndex&, int, int)), this, SLOT (handleRowsInserted (const QModelIndex&, int, int))); connect (model, SIGNAL (rowsRemoved (const QModelIndex&, int, int)), this, SLOT (handleRowsRemoved (const QModelIndex&, int, int))); if (const auto rc = model->rowCount ()) { beginInsertRows ({}, rowCount ({}), rowCount ({}) + rc - 1); for (auto i = 0; i < rc; ++i) Root_->AppendChild (model, model->index (i, 0), Root_); endInsertRows (); } }