From b3517332aba5d9bf7d21688958653c42b6ddaf97 Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Thu, 27 May 2010 13:54:38 +0000
Subject: [PATCH] New SequenceViewer, fix for column count

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2289 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/gui/src/sequence/sequence_model.cc | 13 ++++++++++++-
 modules/gui/src/sequence/sequence_model.hh |  1 +
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/modules/gui/src/sequence/sequence_model.cc b/modules/gui/src/sequence/sequence_model.cc
index 7622af1d4..dc26ce348 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 2bf6f9fd4..98cbe3aa4 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;
-- 
GitLab