connect(fusionColorMapComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(setFusionProperty()));
connect(windowSpinBox,SIGNAL(valueChanged(double)),this,SLOT(setFusionProperty()));
connect(levelSpinBox,SIGNAL(valueChanged(double)),this,SLOT(setFusionProperty()));
+
+ disableFusionSignals = false;
}
void vvOverlayPanel::getCurrentImageName(QString name)
void vvOverlayPanel::getFusionProperty(int opacity, int thresOpacity, int colormap, double window, double level)
{
if (opacity > -1) {
+ //first disable signals generated by each setValue() call
+ disableFusionSignals = true;
fusionFrame->show();
fusionFrame->setEnabled(1);
+ fusionColorMapComboBox->setEnabled(1);
+ fusionColorMapComboBox->setCurrentIndex(colormap);
opacityHorizontalSlider->setEnabled(1);
opacityHorizontalSlider->setValue(opacity);
thresOpacityHorizontalSlider->setEnabled(1);
thresOpacityHorizontalSlider->setValue(thresOpacity);
- fusionColorMapComboBox->setEnabled(1);
- fusionColorMapComboBox->setCurrentIndex(colormap);
windowSpinBox->setEnabled(1);
levelSpinBox->setEnabled(1);
windowSpinBox->setValue(window);
levelSpinBox->setValue(level);
+
+ // re-enable signals and trigger slot function
+ disableFusionSignals = false;
+ setFusionProperty();
} else {
fusionFrame->hide();
fusionFrame->setEnabled(0);
void vvOverlayPanel::setFusionProperty()
{
+ if (disableFusionSignals)
+ return;
+
emit FusionPropertyUpdated(opacityHorizontalSlider->value(), thresOpacityHorizontalSlider->value(), fusionColorMapComboBox->currentIndex(),
windowSpinBox->value(), levelSpinBox->value());
}