瀏覽代碼

ENH: Fire ctkRangeWidget::valuesChanged before ctkRangeWidget::minimumValueChanged() and ctkRangeWidget::maximumValueChanged()

It's better to fire signals with the most arguments first (to limit unnecessary
finetjul 15 年之前
父節點
當前提交
2d12a9c8bd
共有 1 個文件被更改,包括 12 次插入12 次删除
  1. 12 12
      Libs/Widgets/ctkRangeWidget.cpp

+ 12 - 12
Libs/Widgets/ctkRangeWidget.cpp

@@ -350,20 +350,20 @@ void ctkRangeWidget::stopChanging()
     return;
     return;
     }
     }
   d->Changing = false;
   d->Changing = false;
-  bool changed = false;
-  if (qAbs(this->minimumValue() - d->MinimumValueBeforeChange) > (this->singleStep() * 0.000000001))
+  bool emitMinValChanged = qAbs(this->minimumValue() - d->MinimumValueBeforeChange) > (this->singleStep() * 0.000000001);
+  bool emitMaxValChanged = qAbs(this->maximumValue() - d->MaximumValueBeforeChange) > (this->singleStep() * 0.000000001);
+  if (emitMinValChanged || emitMaxValChanged)
     {
     {
-    emit this->minimumValueChanged(this->minimumValue());
-    changed = true;
+	// emit the valuesChanged signal first
+    emit this->valuesChanged(this->minimumValue(), this->maximumValue());
     }
     }
-  if (qAbs(this->maximumValue() - d->MaximumValueBeforeChange) > (this->singleStep() * 0.000000001))
+  if (emitMinValChanged)
     {
     {
-    emit this->maximumValueChanged(this->maximumValue());
-    changed = true;
+    emit this->minimumValueChanged(this->minimumValue());
     }
     }
-  if (changed)
+  if (emitMaxValChanged)
     {
     {
-    emit this->valuesChanged(this->minimumValue(), this->maximumValue());
+    emit this->maximumValueChanged(this->maximumValue());
     }
     }
 }
 }
 
 
@@ -377,9 +377,9 @@ void ctkRangeWidget::changeMinimumValue(double newValue)
     }
     }
   if (!d->Changing)
   if (!d->Changing)
     {
     {
-    emit this->minimumValueChanged(newValue);
     emit this->valuesChanged(newValue, this->maximumValue());
     emit this->valuesChanged(newValue, this->maximumValue());
-    }
+    emit this->minimumValueChanged(newValue);
+	}
 }
 }
 
 
 // --------------------------------------------------------------------------
 // --------------------------------------------------------------------------
@@ -392,8 +392,8 @@ void ctkRangeWidget::changeMaximumValue(double newValue)
     }
     }
   if (!d->Changing)
   if (!d->Changing)
     {
     {
-    emit this->maximumValueChanged(newValue);
     emit this->valuesChanged(this->minimumValue(), newValue);
     emit this->valuesChanged(this->minimumValue(), newValue);
+    emit this->maximumValueChanged(newValue);
     }
     }
 }
 }