Russian Qt Forum

Программирование => Общий => Тема начата: Igors от Апрель 17, 2011, 04:19



Название: Использование объекта плагином
Отправлено: Igors от Апрель 17, 2011, 04:19
Добрый день

Есть приложение (хост) к нему подключается плагин (dylib, dlll и.т.п). Пользователь выбирает плагин из меню, открывается скромный модальный диалог для редактирования настроек. Когда нажимается Ok, плагин закрывает окно, сохраняет свои личные измененные данные и возвращает управление хосту. Когда придет время, хост вызовет экспортируемую ф-цию плагина для выполнения вычислений.

Задача: в плагине нужно указать к какому из объектов хоста будет прилагаться результат. Напр выбрать из popup меню. При этом плагину совершенно не нужно знать о том "а какой это объект" "а что он делает", нужно только имя объекта  (назначается пользователем и не уникально) чтобы показать его в UI и возможность идентифицировать, т.е. сказать хосту что за объект, а хост уже с ним разберется. При этом нужно учитывать:

- когда приложение заново стартует, и плагин загружается, то ссылка на используемый объект должна быть корректно восстановлена

- если хост удалил объект, то и плагин должен обнулить ссылку

- если объект был восстановлен (undo), то и плагин должен восстановить ссылку на него. Заметим что указатель изменяется при delete/undo

И вот что-то у меня получается длинно и сложно :)  А как бы Вы делали?

Спасибо