X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvLinkPanel.cxx;h=5b890d1057de1c5d55bde8edfdd0a1ead29bd9af;hb=1c6241402b25efea0052f0464be9a494e761b19e;hp=7dc2e887362442dc4bb8f7473a0e1783fddc9aa9;hpb=1e034c70105f0926939acaaa27ddb46e904ae8bf;p=clitk.git diff --git a/vv/vvLinkPanel.cxx b/vv/vvLinkPanel.cxx index 7dc2e88..5b890d1 100644 --- a/vv/vvLinkPanel.cxx +++ b/vv/vvLinkPanel.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ #ifndef _vvLinkPanel_CXX #define _vvLinkPanel_CXX @@ -57,6 +57,13 @@ void vvLinkPanel::addImage(std::string name, std::string id) //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +bool vvLinkPanel::isLinkAll() +{ + return mLinkAll; +} +//------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ void vvLinkPanel::removeImage(int index) { @@ -129,6 +136,7 @@ void vvLinkPanel::UpdateComboBox2(int index) //------------------------------------------------------------------------------ void vvLinkPanel::linkAll() { + mLinkAll = true; //First remove all links while (linkTableWidget->rowCount()) removeLink(1,1); @@ -140,9 +148,33 @@ void vvLinkPanel::linkAll() for (int i=0; i< count-j; i++) addLink(); } + mLinkAll = false; } //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +void vvLinkPanel::addLinkFromIds(QString id1, QString id2) +{ + int index1 = -1, index2 = -1; + size_t s1 = image1Ids.size(); + size_t s2 = image2Ids.size(); + for (size_t i = 0; i < s1 && index1 == -1; i++) + if (image1Ids[i] == id1.toStdString()) + index1 = i; + + if (index1 >= 0) + image1ComboBox->setCurrentIndex(index1); + + for (size_t i = 0; i < s2 && index2 == -1; i++) + if (image2Ids[i] == id2.toStdString()) + index2 = i; + + if (index1 >= 0 && index2 >= 0) { + image2ComboBox->setCurrentIndex(index2); + addLink(); + } +} +//------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void vvLinkPanel::addLink() @@ -173,7 +205,9 @@ void vvLinkPanel::addLink() linkTableWidget->setRowHeight(row,17); emit addLink(image1Ids[image1ComboBox->currentIndex()].c_str(), - image2Ids[image2ComboBox->currentIndex()].c_str()); + image2Ids[image2ComboBox->currentIndex()].c_str(), + true + ); UpdateComboBox2(image1ComboBox->currentIndex()); }