SelectionManager - Доступ к выделенным объектам
- class axipy.SelectionManager
Класс доступа к выделенным объектам.
Примечание
Получить экземпляр сервиса можно в атрибуте
axipy.gui.selection_manager
.Свойства:
Размер выделения, то есть количество выделенных записей (количество элементов в списке идентификаторов).
Список идентификаторов выделенных записей.
Таблица, являющаяся источником текущего выделения.
Методы:
add
(table, ids)Добавляет выборку записи таблицы по их идентификаторам.
clear
()Очищает выборку.
Возвращает выборку в виде итератора по записям.
Возвращает выборку в виде таблицы.
remove
(table, ids)Удаляет из выборки записи таблицы по их идентификаторам.
set
(table, ids)Создает выборку из записей таблицы по их идентификаторам.
Сигналы:
Выделение было изменено.
- add(table: Table, ids: Union[List[int], int])
Добавляет выборку записи таблицы по их идентификаторам.
- Параметры:
table – Таблица.
ids – Идентификаторы записей.
- clear()
Очищает выборку.
- property count: int
Размер выделения, то есть количество выделенных записей (количество элементов в списке идентификаторов).
- get_as_cursor() Iterator[Feature]
Возвращает выборку в виде итератора по записям.
Пример:
for f in selection_manager.get_as_cursor(): print('Feature id={}. Страна={}'.format(f.id, f['Страна']))
Предупреждение
Не рекомендуется, начиная с версии 3.5: Используйте
axipy.da.DataManager.selection
.
- get_as_table() Optional[Table]
Возвращает выборку в виде таблицы.
- Результат:
Таблица или
None
, если выборки нет.
Содержимое таблицы основывается на текущей выборке на момент вызова данного метода. При последующем изменении или сбросе выборки контент данной таблицы не меняется. Результирующей таблице присваивается наименование в формате data*, которое в последствии можно изменить. При закрытии базовой таблицы данная таблицы так-же закрывается.
Пример:
# Получаем таблицу из выборки. tbl = selection_manager.get_as_table() # Задаем желаемое имя таблицы (необязательно) tbl.name = 'my_table' # Регистрация в каталоге (необязательно) app.mainwindow.catalog().add(tbl) for f in tbl.items(): print('Feature id={}. Страна={}'.format(f.id, f['Страна']))
Предупреждение
Не рекомендуется, начиная с версии 3.5: Используйте
axipy.da.DataManager.selection
.
- remove(table: Table, ids: Union[List[int], int])
Удаляет из выборки записи таблицы по их идентификаторам.
- Параметры:
table – Таблица.
ids – Идентификаторы записей.