Gisclub

4K | HDTV Ресиверы Enigma2 => Developers Public Team Gisclub.tv => Работа с кодом => Тема начата: Dobrodel от 12 февраля | 2014г. | 22:29:19

Название: Класс SelectionList. Выделение галочкой нескольких элементов в списке. [решено]
Отправлено: Dobrodel от 12 февраля | 2014г. | 22:29:19
Друзья, здравствуйте
Если есть возможность подскажите пожалуйста, как организовать список с произвольными надписями, в котором можно было бы выделять несколько записей галочкой. На глаза попался только класс работающий с файловой системой.
Сильно не ругайте. Я только начинаю изучать enigma2.
Буду благодарен любой помощи.
Название: Выделение галочкой нескольких строк в произвольном списке.
Отправлено: 2boom от 13 февраля | 2014г. | 00:55:53
Dobrodel (https://gisclub.tv/index.php?action=profile;u=13258), погляди исходники software mamager
Название: Выделение галочкой нескольких строк в произвольном списке.
Отправлено: Dobrodel от 13 февраля | 2014г. | 17:53:09
2boom, благодарю Вас за ответ.

Поискал по обозначенному 2boom пути и нашёл решение, может кому пригодится.
С самого начала, описывать не стану. Для понимания сути описанного ниже, предварительно читаем сообщение ака Учкуна на тему написания плагина (https://gisclub.tv/avtorskie-plaginy/pishem-plagin-sami-ili-sluchajnye-uroki-po-python/):

Итак, в skin прописываем элемент List, например так:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Затем, в конструкторе класса, заполняем его содержимым:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
При обработке событий вызываем спец функцию toggleSelection, которая ставит галочки и убирает их:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
И после обработки считываем выбранные значения при помощи:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Если теперь, мы выбираем например элементы 1 и 2 вышеприведённого списка, то наш list , будет содержать значения в следующем формате:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Название: Выделение галочкой нескольких строк в произвольном списке.
Отправлено: ака Учкун от 02 марта | 2014г. | 11:27:01

Все понятно, хорошо, но для начинающих надо бы объяснить тут все-таки - откуда, что взялось?

По коду ясно, что "спец функцию toggleSelection" - это есть нечто иное как метод функции self["list"].
А из верхнего кода понятно, что функции self["list"] присваивается результат вызова функции (модуля?) SelectionList с передачей ей (ему?) получившегося списка (list) в виде аргумента.

Но вот что такое функция (модуль?) SelectionList?
Здесь это не ясно.......

Название: Класс SelectionList. Выделение галочкой нескольких элементов в списке. [решено]
Отправлено: Dobrodel от 02 марта | 2014г. | 20:39:27
Но вот что такое функция (модуль?) SelectionList?
Здесь это не ясно.......
Исправился - дополнил комментариями предыдущий пост.