X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolStructureSetManager.cxx;h=3c4b5c1c7eba2ee9799c98ef5b721ea3b6a839a6;hb=f57924a2649534451ac1ae5a2bdc63e0b6a0092d;hp=6440a75ca0458587f8c5e843601ac32396e21dd2;hpb=1361e8457bdc0d189ab0d44530a20cc2d5e04393;p=clitk.git diff --git a/vv/vvToolStructureSetManager.cxx b/vv/vvToolStructureSetManager.cxx index 6440a75..3c4b5c1 100644 --- a/vv/vvToolStructureSetManager.cxx +++ b/vv/vvToolStructureSetManager.cxx @@ -27,7 +27,8 @@ #include #include #include - +#include + // vtk #include #include @@ -100,6 +101,14 @@ vvToolStructureSetManager::vvToolStructureSetManager(vvMainWindowBase * parent, vvToolStructureSetManager::~vvToolStructureSetManager() { m_NumberOfTool--; + + // clearing the list at this point avoids + // segfaulting due to events being dispatched + // after object destruction + mTreeWidgetList.clear(); + mTree->clearSelection(); + + //std::cout << "vvToolStructureSetManager::~vvToolStructureSetManager()" << std::endl; } //------------------------------------------------------------------------------ @@ -119,6 +128,8 @@ void vvToolStructureSetManager::Initialize() { //------------------------------------------------------------------------------ void vvToolStructureSetManager::InputIsSelected(vvSlicerManager *m) { + //std::cout << "vvToolStructureSetManager::InputIsSelected()" << std::endl; + //int mTabNumber = parent->GetTab()->addTab(this, ""); // this->setFixedWidth(120); //this->setPreferedHeight(441); @@ -250,7 +261,7 @@ void vvToolStructureSetManager::OpenBinaryImage() std::vector filenames; filenames.push_back(filename[i].toStdString()); reader->SetInputFilenames(filenames); - reader->Update(IMAGE); + reader->Update(vvImageReader::IMAGE); QApplication::restoreOverrideCursor(); if (reader->GetLastError().size() != 0) { @@ -356,6 +367,8 @@ void vvToolStructureSetManager::apply() //------------------------------------------------------------------------------ bool vvToolStructureSetManager::close() { + //std::cout << "vvToolStructureSetManager::close()" << std::endl; + return vvToolWidgetBase::close(); } //------------------------------------------------------------------------------ @@ -364,6 +377,8 @@ bool vvToolStructureSetManager::close() //------------------------------------------------------------------------------ void vvToolStructureSetManager::closeEvent(QCloseEvent *event) { + //std::cout << "vvToolStructureSetManager::closeEvent()" << std::endl; + std::vector::iterator iter = std::find(mListOfInputs.begin(), mListOfInputs.end(), mCurrentSlicerManager); if (iter != mListOfInputs.end()) mListOfInputs.erase(iter); @@ -393,6 +408,7 @@ void vvToolStructureSetManager::closeEvent(QCloseEvent *event) //------------------------------------------------------------------------------ void vvToolStructureSetManager::SelectedItemChangedInTree() { + // Search which roi is selected QList l = mTree->selectedItems(); if (l.size() == 0) { @@ -402,6 +418,8 @@ void vvToolStructureSetManager::SelectedItemChangedInTree() { return; } QTreeWidgetItem * w = l[0]; + //std::cout << "selected item -> " << w->text(1).toStdString() << std::endl; + //std::cout << "m_NumberOfTool -> " << m_NumberOfTool << std::endl; if (mMapTreeWidgetToROI.find(w) == mMapTreeWidgetToROI.end()) { mCurrentROIActor = NULL; mCurrentROI = NULL; @@ -575,7 +593,7 @@ void vvToolStructureSetManager::ReloadCurrentROI() { // Reload image vvImageReader::Pointer reader = vvImageReader::New(); reader->SetInputFilename(mCurrentROI->GetFilename()); - reader->Update(IMAGE); + reader->Update(vvImageReader::IMAGE); if (reader->GetLastError() != "") { QMessageBox::information(mMainWindowBase, tr("Sorry, error. Could not reload"), reader->GetLastError().c_str()); return;