diff --git a/modules/gui/src/sequence/sequence_model.cc b/modules/gui/src/sequence/sequence_model.cc index 7622af1d4225c3f1e96b2351217325653e9aa7c6..dc26ce348841621fa3d330fce38e83d1f9c7a062 100644 --- a/modules/gui/src/sequence/sequence_model.cc +++ b/modules/gui/src/sequence/sequence_model.cc @@ -107,7 +107,7 @@ void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){ int cols_before = this->columnCount(); objects_.removeOne(obj); this->endRemoveRows(); - int cols = this->columnCount(); + int cols = this->GetColumnCount(); if(cols_before>cols){ this->max_columns = cols; this->beginRemoveColumns(QModelIndex(), cols, cols_before); @@ -116,6 +116,17 @@ void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){ } } +int SequenceModel::GetColumnCount() const{ + int cols = 0; + for(int i = 0; i<objects_.size();i++){ + int ob_cols = objects_[i]->GetMaxColumnCount(); + if(ob_cols>cols){ + cols = ob_cols; + } + } + return cols; +} + SequenceViewObject* SequenceModel::GetItem(gfx::EntityP& entity){ if(entity != NULL){ for (int i = 0 ; i< objects_.size(); i++){ diff --git a/modules/gui/src/sequence/sequence_model.hh b/modules/gui/src/sequence/sequence_model.hh index 2bf6f9fd41fcf50a4e7baa40396403d62f6b3476..98cbe3aa4d47476f133e7cdcae9592a92246b016 100644 --- a/modules/gui/src/sequence/sequence_model.hh +++ b/modules/gui/src/sequence/sequence_model.hh @@ -78,6 +78,7 @@ public slots: void SelectionChanged(const QItemSelection& sel, const QItemSelection& desel); private: + int GetColumnCount() const; SequenceViewObject* GetItem(gfx::EntityP& entity); BaseViewObject* GetItem(const QModelIndex& index) const; QPair<int, BaseViewObject*> GetRowWithItem(int row) const;