X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vv%2FvvOverlayPanel.cxx;fp=vv%2FvvOverlayPanel.cxx;h=649f1fd9360f8fb44b9a6c3575141b69f96c4b56;hb=407e3715e0917fcbb1556342f6ac9ac2ead0e476;hp=f32357b26c32af60f5887434856a6d2ea8849909;hpb=9ac2232043d7a08735edf00572ccb6565919fd3d;p=clitk.git diff --git a/vv/vvOverlayPanel.cxx b/vv/vvOverlayPanel.cxx index f32357b..649f1fd 100644 --- a/vv/vvOverlayPanel.cxx +++ b/vv/vvOverlayPanel.cxx @@ -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())); @@ -64,9 +66,6 @@ vvOverlayPanel::vvOverlayPanel(QWidget * parent):QWidget(parent) 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; } void vvOverlayPanel::getCurrentImageName(QString name) @@ -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,28 +282,38 @@ 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(), 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()); } 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); + disableFusionSequenceSignals = false; + + if (disableFusionSequenceSignals) return; if (updateVisualization) emit FusionSequencePropertyUpdated(fCTUSSlider->value(), fCTUSActivateSpaceSyncCheckBox->isChecked(), fCTUSSlider->maximum(), fCTUSActivateTimeSyncCheckBox->isChecked()); }