diff --git a/modules/gui/src/file_loader.cc b/modules/gui/src/file_loader.cc index 8552f2dcfb5897abc2e7f53524be82dd83f02513..9ae9885b80ee44d6bc9ad37040b076f151388ba9 100644 --- a/modules/gui/src/file_loader.cc +++ b/modules/gui/src/file_loader.cc @@ -322,7 +322,7 @@ gfx::GfxObjP FileLoader::TryLoadAlignment(const QString& filename, io::SequenceI handler->Import(seq_list,filename.toStdString()); seq::AlignmentHandle alignment = seq::AlignmentFromSequenceList(seq_list); gui::MainArea* main_area = gui::GostyApp::Instance()->GetPerspective()->GetMainArea(); - SequenceViewerV2* viewer = new SequenceViewerV2(main_area); + SequenceViewerV2* viewer = new SequenceViewerV2(false,main_area); viewer->AddAlignment(alignment); main_area->AddWidget(filename,viewer); throw io::IOFileAlreadyLoadedException("Loaded in DataViewer"); diff --git a/modules/gui/src/sequence/sequence_viewer.cc b/modules/gui/src/sequence/sequence_viewer.cc index 00ab974474437ef7a0f9269c9357e84e1abc4176..392309d7008bc570654515c43e30ab1342b88ea4 100644 --- a/modules/gui/src/sequence/sequence_viewer.cc +++ b/modules/gui/src/sequence/sequence_viewer.cc @@ -70,9 +70,11 @@ struct GetNodesVisitor: public gfx::GfxNodeVisitor { gfx::NodePtrList GetNodes(){return nodes_;} }; -SequenceViewerV2::SequenceViewerV2(QWidget* parent): Widget(NULL,parent) +SequenceViewerV2::SequenceViewerV2(bool listen_scene, QWidget* parent): Widget(NULL,parent) { - gfx::Scene::Instance().AttachObserver(this); + if(listen_scene){ + gfx::Scene::Instance().AttachObserver(this); + } model_ = new SequenceModel(this); QVBoxLayout* layout = new QVBoxLayout(this); @@ -102,12 +104,14 @@ SequenceViewerV2::SequenceViewerV2(QWidget* parent): Widget(NULL,parent) connect(seq_table_view_,SIGNAL(CopyEvent(QKeyEvent*)),this,SLOT(CopyEvent(QKeyEvent*))); connect(seq_table_view_,SIGNAL(MouseWheelEvent(QWheelEvent*)),this,SLOT(MouseWheelEvent(QWheelEvent*))); - gfx::GfxNodeP root_node = gfx::Scene::Instance().GetRootNode(); - GetNodesVisitor gnv; - gfx::Scene::Instance().Apply(gnv); - gfx::NodePtrList list = gnv.GetNodes(); - for(unsigned int i=0; i<list.size();i++){ - this->NodeAdded(list[i]); + if(listen_scene){ + gfx::GfxNodeP root_node = gfx::Scene::Instance().GetRootNode(); + GetNodesVisitor gnv; + gfx::Scene::Instance().Apply(gnv); + gfx::NodePtrList list = gnv.GetNodes(); + for(unsigned int i=0; i<list.size();i++){ + this->NodeAdded(list[i]); + } } } diff --git a/modules/gui/src/sequence/sequence_viewer.hh b/modules/gui/src/sequence/sequence_viewer.hh index b4134f1fe4f919380503c325f7d3bf25cae80b6b..10af21bb37abd5877a40451433a85058bbe55866 100644 --- a/modules/gui/src/sequence/sequence_viewer.hh +++ b/modules/gui/src/sequence/sequence_viewer.hh @@ -44,7 +44,7 @@ namespace ost { namespace gui { class DLLEXPORT_OST_GUI SequenceViewerV2 : public Widget, public gfx::SceneObserver { Q_OBJECT public: - SequenceViewerV2(QWidget* parent=NULL); + SequenceViewerV2(bool listen_scene=true, QWidget* parent=NULL); ~SequenceViewerV2(); virtual void NodeAdded(const gfx::GfxNodeP& node);