- Рейтинг
- 7
Здравствуйте, Знатоки!
Помогите, пожалуйста, разобраться с работой спиннеров.
Я сделал спиннер для изменения масштаба модели:
По умолчанию значение g_modelScale = 1.0.
При изменении значения спиннера с помощью перемещения зажатой ЛКМ, оно изменяется с шагом 0,02 (хотя scale:0.01).
При изменении значения спиннера с помощью нажатия ЛКМ на стрелку вверх\вниз, оно изменяется с шагом 1.0 (хотя scale:0.01).
При попытке ручного ввода значения в поле спиннера, оно не изменяется (остается текущее значение спиннера).
Безуспешно пытался использовать эвент для изменения значения спиннера при ручном вводе значения в поле спиннера:
Подскажите, пожалуйста, как сделать, чтобы:
1) значение спиннера изменялось с шагом 0.01 как при изменении значения спиннера с помощью перемещения зажатой ЛКМ, так и при изменении значения спиннера с помощью нажатия ЛКМ на стрелку вверх\вниз
2) значение спиннера изменялось при ручном вводе и нажатии Enter
Спасибо.
PS: Я так и не понял, как использовать дополнительные аргументы в этом эвенте:
Помогите, пожалуйста, разобраться с работой спиннеров.
Я сделал спиннер для изменения масштаба модели:
Код:
rollout ImportRollout "Model Import"
(
spinner SpnModelScale "Model scale: " range:[0.01,100,g_modelScale] type:#float scale:0.01 fieldwidth:60 align:#left
on SpnModelScale changed val do g_modelScale = val
)
При изменении значения спиннера с помощью перемещения зажатой ЛКМ, оно изменяется с шагом 0,02 (хотя scale:0.01).
При изменении значения спиннера с помощью нажатия ЛКМ на стрелку вверх\вниз, оно изменяется с шагом 1.0 (хотя scale:0.01).
При попытке ручного ввода значения в поле спиннера, оно не изменяется (остается текущее значение спиннера).
Безуспешно пытался использовать эвент для изменения значения спиннера при ручном вводе значения в поле спиннера:
Код:
rollout ImportRollout "Model Import"
(
spinner SpnModelScale "Model scale: " range:[0.01,100,g_modelScale] type:#float scale:0.01 fieldwidth:60 align:#left
on SpnModelScale changed val do g_modelScale = val
on SpnModelScale entered do g_modelScale = SpnModelScale.value
)
1) значение спиннера изменялось с шагом 0.01 как при изменении значения спиннера с помощью перемещения зажатой ЛКМ, так и при изменении значения спиннера с помощью нажатия ЛКМ на стрелку вверх\вниз
2) значение спиннера изменялось при ручном вводе и нажатии Enter
Спасибо.
PS: Я так и не понял, как использовать дополнительные аргументы в этом эвенте:
Код:
on <spinner> entered [<inSpin_arg>] [<inCancel_arg>] do <expr>