]> Creatis software - clitk.git/blobdiff - vv/vvOverlayPanel.cxx
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvOverlayPanel.cxx
index f32357b26c32af60f5887434856a6d2ea8849909..165104f068b3b6bc085965317f4045af61a8f8a0 100644 (file)
@@ -29,6 +29,9 @@
 //====================================================================
 vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent)
 {
+  disableFusionSignals = true;
+  disableFusionSequenceSignals = true;
+
   setupUi(this);
 
   vFFrame->hide();
@@ -40,7 +43,6 @@ vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent)
   lutCheckBox->hide();
   lutCheckBox->setEnabled(0);
   fusionShowLegendCheckBox->setChecked(false);
-  fCTUSActivateSpaceSyncCheckBox->setChecked(true);
 
   connect(subSamplingSpinBox,SIGNAL(editingFinished()),this,SLOT(setVFProperty()));
   connect(scaleSpinBox,SIGNAL(editingFinished()),this,SLOT(setVFProperty()));
@@ -63,10 +65,7 @@ vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent)
   connect(fCTUSSlider,SIGNAL(valueChanged(int)),this,SLOT(setFusionSequenceProperty()));
   connect(fCTUSActivateSpaceSyncCheckBox,SIGNAL(stateChanged(int)),this,SLOT(setFusionSequenceProperty()));
   connect(fCTUSActivateTimeSyncCheckBox,SIGNAL(stateChanged(int)),this,SLOT(setFusionSequenceProperty()));
-  connect(fCTUSLoadSignalPushButton,SIGNAL(clicked()),this,SIGNAL(FusionSequenceSignalButtonPressed()));
-
-  disableFusionSignals = false;
-  disableFusionSequenceSignals = false;
+  connect(fCTUSLoadCorrespondancesPushButton,SIGNAL(clicked()),this,SIGNAL(FusionSequenceCorrespondancesButtonPressed()));
 }
 
 void vvOverlayPanel::getCurrentImageName(QString name)
@@ -234,7 +233,7 @@ void vvOverlayPanel::setFusionProperty()
   if (disableFusionSignals)
     return;
 
-  fusionOpacitySpin->setValue(opacityHorizontalSlider->value()); 
+  fusionOpacitySpin->setValue(opacityHorizontalSlider->value());
   fusionThresSpin->setValue(thresOpacityHorizontalSlider->value());
 
   emit FusionPropertyUpdated(opacityHorizontalSlider->value(), thresOpacityHorizontalSlider->value(), fusionColorMapComboBox->currentIndex(),
@@ -251,7 +250,7 @@ void vvOverlayPanel::getCurrentFusionInfo(int visibility,double value)
 {
   QString fusionValue = "<b>Pixel value in image 2 : </b>";
   if (visibility) {
-    fusionValue += QString::number(value,'f',1);
+    fusionValue += QString::number(value,'g',3);
   }
   valueFusionnedLabel->setText(fusionValue);
 }
@@ -265,7 +264,7 @@ void vvOverlayPanel::getFusionSequenceProperty(int sequenceFrameIndex, bool spat
                fCTUSFrame->setEnabled(1);
                fCTUSSlider->setEnabled(1);
                fCTUSSlider->setValue(sequenceFrameIndex);
-               fCTUSSlider->setMaximum(sequenceLenth);
+               fCTUSSlider->setMaximum(sequenceLenth-1); //the maximum IS included, since we start at 0, go until n-1!
                if (spatialSync) fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Checked);
                else             fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Unchecked);          
                if (fCTUSActivateTimeSyncCheckBox->isEnabled()) {
@@ -275,6 +274,7 @@ void vvOverlayPanel::getFusionSequenceProperty(int sequenceFrameIndex, bool spat
                disableFusionSequenceSignals = false;
                setFusionSequenceProperty();
        } else {
+    disableFusionSequenceSignals = true;
                fCTUSFrame->hide();
                fCTUSFrame->setEnabled(0);
                fCTUSSlider->setEnabled(0);
@@ -282,29 +282,39 @@ void vvOverlayPanel::getFusionSequenceProperty(int sequenceFrameIndex, bool spat
                fCTUSSlider->setMaximum(0);
                fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Unchecked);
                fCTUSActivateTimeSyncCheckBox->setCheckState(Qt::Unchecked);
+    disableFusionSequenceSignals = false;
+    setFusionSequenceProperty();
        }
 }
 
 
 void vvOverlayPanel::setFusionSequenceProperty()
 {
-       if (disableFusionSequenceSignals)
-               return;
-
-       emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum(), fCTUSActivateTimeSyncCheckBox->isChecked());
+  if (disableFusionSequenceSignals)
+    return;
+  emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum()+1, fCTUSActivateTimeSyncCheckBox->isChecked());
 }
 
 void vvOverlayPanel::enableFusionSequenceTemporalSync() {
+  bool backup = disableFusionSequenceSignals;
+  disableFusionSequenceSignals=true; //not sure this is necessary, but just in case...
        fCTUSActivateTimeSyncCheckBox->setEnabled(1);
        fCTUSActivateTimeSyncCheckBox->setChecked(true);
+  disableFusionSequenceSignals = backup; //
        
        if (disableFusionSequenceSignals) return;
-       emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum(), fCTUSActivateTimeSyncCheckBox->isChecked());
+       emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum()+1, fCTUSActivateTimeSyncCheckBox->isChecked());
 }
 
 void vvOverlayPanel::updateFusionSequenceSliderValueFromWindow(int val, bool updateVisualization) {
+  if (fCTUSSlider->value()==val) return;
+
+  disableFusionSequenceSignals = true; //not sure this is necessary, but just in case...
        fCTUSSlider->setValue(val); 
-       if (updateVisualization) emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum(), fCTUSActivateTimeSyncCheckBox->isChecked());
+  disableFusionSequenceSignals = false;
+
+  if (disableFusionSequenceSignals) return;
+       if (updateVisualization) emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum()+1, fCTUSActivateTimeSyncCheckBox->isChecked());
 }
 
 void vvOverlayPanel::VFColorChangeRequest()