Render.ru
Поддержать

updateToolbarButtons убивает Макс

М Т (McST)

Знаток
Рейтинг
23
пытаюсь сделать проверку на кнопку
чтоб при определенных условиях в сцене она становилась либо нажатой, либо отжатой

в старых максах вроде работало в новом(2009) почему-то стало нужно обновлять тулбар кликом по сцене или еще по чему

нашел команду updateToolbarButtons()
но при попытке выполнить эту процедуру падает макс

On isChecked do
(
check()
updateToolbarButtons()
)
где check() - операция выполняющая определенную проверку и выдающая True или False в зависимости от результата

если кто знает решение, подскажите плз че не так делаю?

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
McSTпытаюсь сделать проверку на кнопку
чтоб при определенных условиях в сцене она становилась либо нажатой, либо отжатой
Нужно отловить этот момент, если он в твоем коде то просто вызывай от туда updateToolbarButtons(), если нет то повесь нужный callbaсk.

McSTв старых максах вроде работало в новом(2009) почему-то стало нужно обновлять тулбар кликом по сцене или еще по чему
Оптимизировали лишние обновления, тормозили интерфейс.

McST
нашел команду updateToolbarButtons()
но при попытке выполнить эту процедуру падает макс
Ну так ктоже ее вызывает из функции которую она проверяет ? Из любого другого места пожалуйста, Из тела Execut, из callbak, при закрытии диалога, ...

И check() у тебя должен обязательно быть последней командой в On isChecked do, чтобы передал свой результат. Аналогично return check()

М Т (McST)

Знаток
Рейтинг
23
Savin DenisНу так ктоже ее вызывает из функции которую она проверяет ? Из любого другого места пожалуйста, Из тела Execut, из callbak, при закрытии диалога,
ну вот например, хочу чтоб кнопка становилась нажатой в тулбаре, когда выделеяется какой-то объект или ставится определенная галка в определенном месте.

у колбаков вроде бы там ограниченное количество проверок, или нет?

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
1) есть callback на селекшен
По поводу галок нужно более конкретно знать что за параметр обновляется и от этого плясать.
Можно тупо повесить проверку на таймер или обновление вьюпорта, но это не очень красиво. Не стоит перегружать систему такими событиями. Хотя если с большим интервалом 2-4с.
Уж лучше на тот же самый селекшен вешать.
2) нет