diff --git a/ViewerManager/View/otbImageViewerManagerViewGUI.cxx b/ViewerManager/View/otbImageViewerManagerViewGUI.cxx index 259a70b7dd2d3cde11d94a6cb0294c748d8d7d32..25e77425ce059ab035b34225902ebbecc7df3d30 100644 --- a/ViewerManager/View/otbImageViewerManagerViewGUI.cxx +++ b/ViewerManager/View/otbImageViewerManagerViewGUI.cxx @@ -333,21 +333,21 @@ ImageViewerManagerViewGUI // no image selected, return return; } - - //check what to do - if(!m_DisplayStatusList[selectedItem-1].first) - { - //New Display - m_DisplayStatusList[selectedItem-1].first = true; - this->UpdateImageListShowed(selectedItem, m_DisplayedLabel); - this->Display(m_WidgetManagerList,selectedItem); - } - else - { - m_DisplayStatusList[selectedItem-1].first = false; - this->UpdateImageListShowed(selectedItem, m_UndisplayedLabel); - this->Undisplay(selectedItem); - } + if(guiDiaporama->shown() == 0 && guiLinkSetupWindow->shown() == 0) + //check what to do + if(!m_DisplayStatusList[selectedItem-1].first) + { + //New Display + m_DisplayStatusList[selectedItem-1].first = true; + this->UpdateImageListShowed(selectedItem, m_DisplayedLabel); + this->Display(m_WidgetManagerList,selectedItem); + } + else + { + m_DisplayStatusList[selectedItem-1].first = false; + this->UpdateImageListShowed(selectedItem, m_UndisplayedLabel); + this->Undisplay(selectedItem); + } } /** @@ -474,6 +474,11 @@ ImageViewerManagerViewGUI m_LinkWidgetManagerList->GetNthElement(selectedItem-1)->Hide(); m_LinkWidgetManagerList->SetNthElement(selectedItem-1,widgetManager); + if(m_LinkedDisplayStatusList[selectedItem-1]) + { + this->Display(m_LinkWidgetManagerList, selectedItem); + } + //Update the view mode if(!m_DisplayStatusList[selectedItem-1].first && !m_LinkedDisplayStatusList[selectedItem-1]) { @@ -525,7 +530,9 @@ void ImageViewerManagerViewGUI ::HideAll() { - this->CloseAllDisplayedImages(true); + //Hide all only if the diaporama and link window are not displayed + if(guiDiaporama->shown() == 0 && guiLinkSetupWindow->shown() == 0) + this->CloseAllDisplayedImages(true); } /**