1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

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

Тема в разделе "MAXScript", создана пользователем McST, 17 мар 2009.

Модераторы: Savin Denis
  1. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    пытаюсь сделать проверку на кнопку
    чтоб при определенных условиях в сцене она становилась либо нажатой, либо отжатой

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

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

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

    если кто знает решение, подскажите плз че не так делаю?
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Нужно отловить этот момент, если он в твоем коде то просто вызывай от туда updateToolbarButtons(), если нет то повесь нужный callbaсk.

    Оптимизировали лишние обновления, тормозили интерфейс.

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

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

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    ну вот например, хочу чтоб кнопка становилась нажатой в тулбаре, когда выделеяется какой-то объект или ставится определенная галка в определенном месте.

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

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    1) есть callback на селекшен
    По поводу галок нужно более конкретно знать что за параметр обновляется и от этого плясать.
    Можно тупо повесить проверку на таймер или обновление вьюпорта, но это не очень красиво. Не стоит перегружать систему такими событиями. Хотя если с большим интервалом 2-4с.
    Уж лучше на тот же самый селекшен вешать.
    2) нет
     
  5. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    ясно, спасибо, будем капать
     
Модераторы: Savin Denis

Поделиться этой страницей