From df164cd05bd953a3222f0a4a84f642803cd1d0e8 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Thu, 17 Jun 2010 13:38:05 +0000 Subject: [PATCH] SequenceViewer, exports for addEntity git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2416 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/gui/pymod/export_sequence_viewer.cc | 2 ++ .../gui/src/sequence_viewer/sequence_model.cc | 4 ++-- .../gui/src/sequence_viewer/sequence_model.hh | 4 ++-- .../sequence_viewer/sequence_view_object.cc | 2 +- .../sequence_viewer/sequence_view_object.hh | 2 +- .../src/sequence_viewer/sequence_viewer.cc | 20 ++++++++++++++----- .../src/sequence_viewer/sequence_viewer.hh | 8 ++++++-- 7 files changed, 29 insertions(+), 13 deletions(-) diff --git a/modules/gui/pymod/export_sequence_viewer.cc b/modules/gui/pymod/export_sequence_viewer.cc index 32e79ed48..fb2c7e45f 100644 --- a/modules/gui/pymod/export_sequence_viewer.cc +++ b/modules/gui/pymod/export_sequence_viewer.cc @@ -100,6 +100,8 @@ void export_SequenceViewer() .def(init<bool, optional<QWidget*> >()) .def("Show", &SequenceViewer::show) .def("Hide", &SequenceViewer::hide) + .def("AddEntity", &SequenceViewer::AddEntity) + .def("RemoveEntity", &SequenceViewer::RemoveEntity) .def("AddAlignment", &SequenceViewer::AddAlignment) .def("RemoveAlignment", &SequenceViewer::RemoveAlignment) .def("GetDisplayModes", &get_display_modes_a) diff --git a/modules/gui/src/sequence_viewer/sequence_model.cc b/modules/gui/src/sequence_viewer/sequence_model.cc index 923a24c0f..293ffe2d6 100644 --- a/modules/gui/src/sequence_viewer/sequence_model.cc +++ b/modules/gui/src/sequence_viewer/sequence_model.cc @@ -95,7 +95,7 @@ void SequenceModel::InsertSequences(const QList<QString>& names, seq::SequenceLi this->endInsertRows(); } -void SequenceModel::InsertGfxEntity(gfx::EntityP& ent){ +void SequenceModel::InsertGfxEntity(const gfx::EntityP& ent){ mol::EntityView view=ent->GetView(); int size = view.GetChainList().size(); int cols = this->columnCount(); @@ -111,7 +111,7 @@ void SequenceModel::InsertGfxEntity(gfx::EntityP& ent){ this->endInsertRows(); } -void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){ +void SequenceModel::RemoveGfxEntity(const gfx::EntityP& entity){ if(SequenceViewObject* obj = this->GetItem(entity)){ int index = this->GetGlobalRow(obj,0); this->beginRemoveRows(QModelIndex(),index,index+obj->GetRowCount()-1); diff --git a/modules/gui/src/sequence_viewer/sequence_model.hh b/modules/gui/src/sequence_viewer/sequence_model.hh index d0afbbc4d..f05241df0 100644 --- a/modules/gui/src/sequence_viewer/sequence_model.hh +++ b/modules/gui/src/sequence_viewer/sequence_model.hh @@ -47,13 +47,13 @@ public: SequenceModel(QObject *parent = 0); void InsertAlignment(const seq::AlignmentHandle& alignment); - void InsertGfxEntity(gfx::EntityP& entity); + void InsertGfxEntity(const gfx::EntityP& entity); void InsertChain(QString& name, mol::ChainView& view); void InsertSequence(QString& name, seq::SequenceHandle& seq); void InsertSequences(const QList<QString>& names, seq::SequenceList& list); void RemoveAlignment(const seq::AlignmentHandle& alignment); - void RemoveGfxEntity(gfx::EntityP& entity); + void RemoveGfxEntity(const gfx::EntityP& entity); QModelIndexList GetModelIndexes(gfx::EntityP& entity, const mol::EntityView& view); QModelIndexList GetModelIndexes(const QString& subject, const QString& sequence_name=QString()); diff --git a/modules/gui/src/sequence_viewer/sequence_view_object.cc b/modules/gui/src/sequence_viewer/sequence_view_object.cc index 8b63980bf..fdc227d2e 100644 --- a/modules/gui/src/sequence_viewer/sequence_view_object.cc +++ b/modules/gui/src/sequence_viewer/sequence_view_object.cc @@ -70,7 +70,7 @@ SequenceViewObject::SequenceViewObject(mol::ChainView& chain, const QString& nam this->SetDisplayMode(properties_mode); } -SequenceViewObject::SequenceViewObject(gfx::EntityP& entity, QObject* parent): BaseViewObject(parent), entity_(entity) +SequenceViewObject::SequenceViewObject(const gfx::EntityP& entity, QObject* parent): BaseViewObject(parent), entity_(entity) { this->Init(); mol::EntityView view =entity->GetView(); diff --git a/modules/gui/src/sequence_viewer/sequence_view_object.hh b/modules/gui/src/sequence_viewer/sequence_view_object.hh index 2ad390a95..ba862c724 100644 --- a/modules/gui/src/sequence_viewer/sequence_view_object.hh +++ b/modules/gui/src/sequence_viewer/sequence_view_object.hh @@ -50,7 +50,7 @@ public: SequenceViewObject(seq::SequenceList& sequences, const QList<QString>& names, QObject* parent = 0); SequenceViewObject(seq::SequenceHandle& sequence, const QString& name, QObject* parent = 0); SequenceViewObject(mol::ChainView& chain, const QString& name, QObject* parent = 0); - SequenceViewObject(gfx::EntityP& entity, QObject* parent = 0); + SequenceViewObject(const gfx::EntityP& entity, QObject* parent = 0); SequenceViewObject(QObject* parent = 0); void Init(); diff --git a/modules/gui/src/sequence_viewer/sequence_viewer.cc b/modules/gui/src/sequence_viewer/sequence_viewer.cc index c5d86d783..a2d530e5b 100644 --- a/modules/gui/src/sequence_viewer/sequence_viewer.cc +++ b/modules/gui/src/sequence_viewer/sequence_viewer.cc @@ -166,20 +166,30 @@ void SequenceViewer::InitActions() connect(menu_action, SIGNAL(triggered(bool)), this, SLOT(DisplayMenu())); } +void SequenceViewer::AddEntity(const gfx::EntityP& entity) +{ + model_->InsertGfxEntity(entity); + seq_table_view_->resizeColumnsToContents(); + seq_table_view_->resizeRowsToContents(); + this->UpdateSearchBar(); +} + +void SequenceViewer::RemoveEntity(const gfx::EntityP& entity) +{ + model_->RemoveGfxEntity(entity); +} + void SequenceViewer::NodeAdded(const gfx::GfxNodeP& n) { if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(n)) { - model_->InsertGfxEntity(o); - seq_table_view_->resizeColumnsToContents(); - seq_table_view_->resizeRowsToContents(); + this->AddEntity(o); } - this->UpdateSearchBar(); } void SequenceViewer::NodeRemoved(const gfx::GfxNodeP& node) { if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(node)) { - model_->RemoveGfxEntity(o); + this->RemoveEntity(o); } } diff --git a/modules/gui/src/sequence_viewer/sequence_viewer.hh b/modules/gui/src/sequence_viewer/sequence_viewer.hh index e4f8d55f2..c5190ace9 100644 --- a/modules/gui/src/sequence_viewer/sequence_viewer.hh +++ b/modules/gui/src/sequence_viewer/sequence_viewer.hh @@ -49,10 +49,11 @@ public: SequenceViewer(bool stand_alone=true, QWidget* parent=NULL); ~SequenceViewer(); - virtual void NodeAdded(const gfx::GfxNodeP& node); - virtual void NodeRemoved(const gfx::GfxNodeP& node); virtual void SelectionChanged(const gfx::GfxObjP& o, const mol::EntityView& view); + virtual void AddEntity(const gfx::EntityP& entity); + virtual void RemoveEntity(const gfx::EntityP& entity); + virtual void AddAlignment(const seq::AlignmentHandle& alignment); virtual void RemoveAlignment(const seq::AlignmentHandle& alignment); @@ -78,6 +79,9 @@ public slots: void OnSearchBarUpdate(const QString&, bool, const QString&); private: + virtual void NodeAdded(const gfx::GfxNodeP& node); + virtual void NodeRemoved(const gfx::GfxNodeP& node); + void InitActions(); void InitView(); void InitSearchBar(); -- GitLab