fix: make hard controls also limit range movement

This commit is contained in:
mtvare6 2025-07-12 05:02:00 +05:30
parent 6780626768
commit 6aee1e6fb9
7 changed files with 70 additions and 6 deletions

View file

@ -154,6 +154,23 @@ pub(crate) fn generate_node_code(parsed: &ParsedNodeFn) -> syn::Result<TokenStre
_ => quote!(None),
})
.collect();
let number_hard_min_values: Vec<_> = fields
.iter()
.map(|field| match field {
ParsedField::Regular { number_hard_min: Some(hard_min), .. } => quote!(Some(#hard_min)),
_ => quote!(None),
})
.collect();
let number_hard_max_values: Vec<_> = fields
.iter()
.map(|field| match field {
ParsedField::Regular { number_hard_max: Some(hard_max), .. } => quote!(Some(#hard_max)),
_ => quote!(None),
})
.collect();
let number_mode_range_values: Vec<_> = fields
.iter()
.map(|field| match field {
@ -419,6 +436,8 @@ pub(crate) fn generate_node_code(parsed: &ParsedNodeFn) -> syn::Result<TokenStre
default_type: #default_types,
number_min: #number_min_values,
number_max: #number_max_values,
number_hard_min: #number_hard_min_values,
number_hard_max: #number_hard_max_values,
number_mode_range: #number_mode_range_values,
number_display_decimal_places: #number_display_decimal_places,
number_step: #number_step,