NumericProperty-SetIntPropertyValue详细代码
以下是NumericProperty类中SetIntPropertyValue()方法的详细代码:
void NumericProperty::SetIntPropertyValue(int value) {
if (is_read_only_) {
LOG(ERROR) << "Cannot set read-only property " << name_;
return;
}
if (value < min_value_) {
LOG(WARNING) << "Value " << value << " is less than the minimum allowed value " << min_value_ << " for property " << name_;
value = min_value_;
} else if (value > max_value_) {
LOG(WARNING) << "Value " << value << " is greater than the maximum allowed value " << max_value_ << " for property " << name_;
value = max_value_;
}
if (value != int_value_) {
int_value_ = value;
OnValueChanged();
}
}
该方法首先检查属性是否为只读,如果是,则打印错误消息并返回。然后,它检查传入的值是否小于最小值或大于最大值,如果是,则打印警告消息并将值设置为最小值或最大值。最后,如果值与当前值不同,则将值设置为新值并调用OnValueChanged()方法通知属性更改事件的侦听器
原文地址: http://www.cveoy.top/t/topic/htNa 著作权归作者所有。请勿转载和采集!