Как обновить набор свойств после изменения одного из этих свойств?

Автор Тема: Как обновить набор свойств после изменения одного из этих свойств?  (Прочитано 7095 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nik.belАвтор темы

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Код - C++ [Выбрать]
  1. // так я создаю PropertySource для моего типа объектов
  2. IPropertySource* pPropSource = new CMcPropertySource();
  3.  
  4. BSTR name = NULL;
  5. gpPropSrc->get_Name(&name);
  6.  
  7. if(name && GET_OPM_PERINSTANCE_PROPERTY_SOURCES()->SetPropertySourceAt(&name, gpPropSrc))
  8. GET_OPM_PERINSTANCE_EXTENSION_PROTOCOL(myObjectClass::desc())->AddObjectPropertySourceName(&name);

Когда выбирается объект моего типа, вызывается IPropertySource::GetProperties(), который формирует список свойств в OPM. Далее, если изменить какое-нибудь свойство, то значения всего списка свойств обновляются, но набор свойств - нет. Как этого добиться? Я пробовал в функции IDynamicProperty::SetCurrentValueData() использовать IDynamicPropertyNotify::onChanged(), но эффект тот же.
« Последнее редактирование: 07-12-2014, 20:10:37 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
nik.bel, приветствую на форуме!
Я не сталкивался с необходимостью обновлять список свойств, так что решение быстро не найду.
Если есть необходимость в помощи от ADN DevHelp, то подготовь пожалуйста минимальный проект, который можно им передать для анализа и выработки решения.

P.S.: Всё-таки одна мысль появилось. Тебе нужен реактор на изменение примитива, в котором ты будешь модифицировать PropertySource для своего объекта.
« Последнее редактирование: 07-12-2014, 21:00:04 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение