C++ 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() 方法通知属性更改事件的侦听器。
原文地址: https://www.cveoy.top/t/topic/oWzH 著作权归作者所有。请勿转载和采集!