![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
ViGOur |
![]()
Сообщение
#1
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Есть GUI, в котором создается список с QTreeView, заполняется и показывается по правилам модель представление с базовыми параметрами (Account, name, number, ... ).
Есть два плагина, которые дополняют QTreeView из GUI своими столбцами и разумеется функционалом, данные обновляются благодаря механизму сигнал/слот. Нужна возможность, например добавить механизм импорта/экспорта из данного QTreeView и предусматреть вариант, что импорт делался с подключенным плагином, а экспорт с отключенным и наоборот. Интересен красивый и изящный алгоритм реализации описанного выше. |
|
|
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
А экспортироватся будут все данные?
Если плагин отключен при импорте, что происходит с данными, они теряются? Вообще, поподробнее бы про экспорт-импорт. Насколько я понял, есть некая модель, которая собственно обновляется данными от плагинов. Вот ее интерфейс я бы использовал при экспорте-импорте. Причем в нем ничего не должно менятся, только количество столбцов. Т.е. модель является некоей композицией моделей плагинов. |
|
|
ViGOur |
![]()
Сообщение
#3
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
По идее я должен экспортировать только те данные, которые могут быть сопоставлены с подключенными плагинами.
Пока я сделал примерно так: КОД
Ну а в модели у меня создается объект:
который заполняется при запуске приложения после создания всех билдеров с учетом загруженных плагинов. А CAccountHeader::m_key использую для сохранения данных, и он назначается в плагине и относится только к определенному плагину. Потому если какой-то плагин отключен, то при импорте столбцы из плагина не будут учитываться... |
|
|
lanz |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Да вроде бы все нормально выглядит. Единственное что только m_key бы сделать глобально-уникальным, например UUID, чтобы плагины не пересекались друг с другом.
Еще можно версии добавить и их проверять. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 19:41 |