Плагины и заполнение списка из них, реальная задачка |
Здравствуйте, гость ( Вход | Регистрация )
Плагины и заполнение списка из них, реальная задачка |
ViGOur |
1.7.2015, 17:27
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Есть GUI, в котором создается список с QTreeView, заполняется и показывается по правилам модель представление с базовыми параметрами (Account, name, number, ... ).
Есть два плагина, которые дополняют QTreeView из GUI своими столбцами и разумеется функционалом, данные обновляются благодаря механизму сигнал/слот. Нужна возможность, например добавить механизм импорта/экспорта из данного QTreeView и предусматреть вариант, что импорт делался с подключенным плагином, а экспорт с отключенным и наоборот. Интересен красивый и изящный алгоритм реализации описанного выше. |
|
|
lanz |
3.7.2015, 21:21
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
А экспортироватся будут все данные?
Если плагин отключен при импорте, что происходит с данными, они теряются? Вообще, поподробнее бы про экспорт-импорт. Насколько я понял, есть некая модель, которая собственно обновляется данными от плагинов. Вот ее интерфейс я бы использовал при экспорте-импорте. Причем в нем ничего не должно менятся, только количество столбцов. Т.е. модель является некоей композицией моделей плагинов. |
|
|
ViGOur |
6.7.2015, 11:07
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
По идее я должен экспортировать только те данные, которые могут быть сопоставлены с подключенными плагинами.
Пока я сделал примерно так: КОД
Ну а в модели у меня создается объект:
который заполняется при запуске приложения после создания всех билдеров с учетом загруженных плагинов. А CAccountHeader::m_key использую для сохранения данных, и он назначается в плагине и относится только к определенному плагину. Потому если какой-то плагин отключен, то при импорте столбцы из плагина не будут учитываться... |
|
|
lanz |
7.7.2015, 16:44
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Да вроде бы все нормально выглядит. Единственное что только m_key бы сделать глобально-уникальным, например UUID, чтобы плагины не пересекались друг с другом.
Еще можно версии добавить и их проверять. |
|
|
Текстовая версия | Сейчас: 24.11.2024, 7:29 |