]> Creatis software - clitk.git/blobdiff - vv/vvOverlayPanel.cxx
1/ some minor changes for compilation under windows / VC++ 2010 Express
[clitk.git] / vv / vvOverlayPanel.cxx
index 68356bfd2df1d91d1fc7029d20d5e6afe331d44b..e205c8770105857c7edf0a0a9424ffc819554b4c 100644 (file)
@@ -34,10 +34,14 @@ vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent)
   vFFrame->hide();
   compareFrame->hide();
   fusionFrame->hide();
+  fCTUSFrame->hide();
   subSamplingSpinBox->setEnabled(0);
   scaleSpinBox->setEnabled(0);
   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()));
   connect(lutCheckBox,SIGNAL(clicked()),this,SLOT(setVFProperty()));
@@ -51,11 +55,16 @@ vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent)
   connect(fusionLevelSpinBox,SIGNAL(valueChanged(double)),this,SLOT(setFusionProperty()));
   connect(fusionOpacitySpin,SIGNAL(valueChanged(double)),this,SLOT(setFusionSpinProperty()));
   connect(fusionThresSpin,SIGNAL(valueChanged(double)),this,SLOT(setFusionSpinProperty()));
+  connect(fusionShowLegendCheckBox,SIGNAL(stateChanged(int)),this,SLOT(setFusionProperty()));
   connect(overlayWindowSpinBox,SIGNAL(valueChanged(double)),this,SLOT(setOverlayProperty()));
   connect(overlayLevelSpinBox,SIGNAL(valueChanged(double)),this,SLOT(setOverlayProperty()));
   connect(overlayLinkCheckBox,SIGNAL(stateChanged(int)),this,SLOT(setOverlayProperty()));
 
+  connect(fCTUSSlider,SIGNAL(valueChanged(int)),this,SLOT(setFusionSequenceProperty()));
+  connect(fCTUSActivateSpaceSyncCheckBox,SIGNAL(stateChanged(int)),this,SLOT(setFusionSequenceProperty()));
+
   disableFusionSignals = false;
+  disableFusionSequenceSignals = false;
 }
 
 void vvOverlayPanel::getCurrentImageName(QString name)
@@ -222,12 +231,12 @@ void vvOverlayPanel::setFusionProperty()
 {
   if (disableFusionSignals)
     return;
-  
+
   fusionOpacitySpin->setValue(opacityHorizontalSlider->value()); 
   fusionThresSpin->setValue(thresOpacityHorizontalSlider->value());
 
   emit FusionPropertyUpdated(opacityHorizontalSlider->value(), thresOpacityHorizontalSlider->value(), fusionColorMapComboBox->currentIndex(),
-                             fusionWindowSpinBox->value(), fusionLevelSpinBox->value());
+                             fusionWindowSpinBox->value(), fusionLevelSpinBox->value(), fusionShowLegendCheckBox->isChecked());
 }
 
 void vvOverlayPanel::setFusionSpinProperty()
@@ -245,14 +254,52 @@ void vvOverlayPanel::getCurrentFusionInfo(int visibility,double value)
   valueFusionnedLabel->setText(fusionValue);
 }
 
+
+void vvOverlayPanel::getFusionSequenceProperty(int sequenceFrameIndex, bool spatialSync, unsigned int sequenceLenth)
+{
+       if (sequenceFrameIndex > -1) {
+               disableFusionSequenceSignals = true;
+               fCTUSFrame->show();             
+               fCTUSFrame->setEnabled(1);
+               fCTUSSlider->setEnabled(1);
+               fCTUSSlider->setValue(sequenceFrameIndex);
+               fCTUSSlider->setMaximum(sequenceLenth);
+               if (spatialSync) fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Checked);
+               else             fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Unchecked);
+               disableFusionSequenceSignals = false;
+               setFusionSequenceProperty();
+       } else {
+               fCTUSFrame->hide();
+               fCTUSFrame->setEnabled(0);
+               fCTUSSlider->setEnabled(0);
+               fCTUSSlider->setValue(0);
+               fCTUSSlider->setMaximum(0);
+               fCTUSActivateSpaceSyncCheckBox->setCheckState(Qt::Unchecked);
+       }
+}
+
+
+void vvOverlayPanel::setFusionSequenceProperty()
+{
+       if (disableFusionSequenceSignals)
+               return;
+
+       emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum());
+}
+
+
+
 void vvOverlayPanel::VFColorChangeRequest()
 {
   QColor color(vfColorButton->palette().color(QPalette::Background));
   color = QColorDialog::getColor(color, this, "Choose the new color of the vector field");
   //vfColorButton->palette().setColor(QPalette::Background, color); SR: Not working?
-  vfColorButton->setStyleSheet("* { background-color: " + color.name() + "; border: 0px }");
+  if (color.isValid())
+    vfColorButton->setStyleSheet("* { background-color: " + color.name() + "; border: 0px }");
   this->setVFProperty();
 }
 
+
+
 #endif /* end #define _vvOverlayPanel_CXX */