Feature - Интерфейс записи в таблице ======================================== .. currentmodule:: axioma.core.dp .. class:: Feature Интерфейс записи в таблице .. .. method:: Feature(num_attributes, modified=False) .. .. Конструктор класса .. .. :param num_attributes: количество атрибутов .. :type num_attributes: :class:`int` .. :param modified: признак изменения .. :type modified: :class:`bool` .. staticmethod:: createFeature(schema) Фабричный статический метод для создания пустой записи :param schema: схема таблицы :type schema: :class:`~axioma.core.dp.TableSchema` :return: новая пустая запись :rtype: :class:`~axioma.core.dp.Feature` .. method:: numAttributes() Число атрибутов :rtype: :class:`int` .. method:: attributeNameList() Список имен всех атрибутов :rtype: :class:`list` [:class:`str`] .. method:: geometryIndex() Получить индекс атрибута с геометрией. Если несколько - возвращает первый \ попавшийся. Если геометрических атрибутов не найдено, возвращает -1. :rtype: :class:`int` .. method:: geometryIndexes() Получить список индексов всех геометрических атрибутов :rtype: :class:`list` [:class:`int`] .. method:: styleIndex() Получить индекс атрибута со стилем. Если несколько - возвращает первый \ попавшийся. Если стилей не найдено, возвращает -1. :rtype: :class:`int` .. method:: styleIndexes() Получить список индексов всех атрибутов со стилем :rtype: :class:`list` [:class:`int`] .. method:: id Идентификатор объекта в таблице :rtype: :class:`~PyQt5.QtCore.QVariant` .. method:: indexOf(name) Порядковый номер атрибута name (начиная с 0) :param name: имя атрибута :type name: :class:`str` :return: индекс атрибута :rtype: :class:`int` .. method:: getAttribute(index) Получить атрибут с номером index :param index: индекс атрибута :type index: :class:`int` :return: Значение атрибута с номером index :rtype: :class:`~PyQt5.QtCore.QVariant` :raises OutOfRange: :exc:`~axioma.common.OutOfRangeException` - если индекс выходит за пределы допустимых значений .. method:: getAttribute(name) Получить атрибут с именем name :param name: имя атрибута :type name: :class:`str` :return: Значение атрибута с именем name :rtype: :class:`~PyQt5.QtCore.QVariant` .. method:: setAttribute(index, value) Установить атрибут с номером index в значение value :param index: индекс атрибута :type index: :class:`int` :param value: значение :type value: :class:`~PyQt5.QtCore.QVariant` :raises OutOfRange: :exc:`~axioma.common.OutOfRangeException` - если индекс выходит за пределы допустимых значений .. method:: setAttribute(name, value) Установить атрибут с именем name в значение value :param name: имя атрибута :type name: :class:`str` :param value: значение :type value: :class:`~PyQt5.QtCore.QVariant` .. method:: tryGetAttribute(name, value) Попытаться прочитать атрибут с именем name :param name: имя атрибута :type name: :class:`str` :param value: переменная для получения результата :type value: :class:`~PyQt5.QtCore.QVariant` :return: True, если значение успешно прочитано, False, если атрибут с именем name не существует :rtype: :class:`bool` .. method:: trySetAttribute(name, value) Попытаться записать значение value в атрибут с именем name :param name: имя атрибута :type name: :class:`str` :param value: новое значение :type value: :class:`~PyQt5.QtCore.QVariant` :return: True, если значение успешно записано, False, если атрибут с именем name не существует :rtype: :class:`bool` .. method:: isModified(index) Проверить, установлен ли признак изменения для атрибута с номером index :param index: индекс атрибута :type index: :class:`int` :return: признак изменения атрибута :rtype: :class:`bool` .. method:: isModeified(name) Проверить, установлен ли признак изменения для атрибута с именем name :param name: имя атрибута :type name: :class:`str` :return: признак изменения атрибута :rtype: :class:`bool` .. method:: setModified(index, value=True) Установить или сбросить признак изменения для атрибута с номером index :param index: индекс атрибута :type index: :class:`int` :param value: значение признака :type value: :class:`bool` .. method:: setModified(name, value=True) Установить или сбросить признак изменения для атрибута с именем name :param name: имя атрибута :type name: :class:`str` :param value: значение признака :type value: :class:`bool` .. method:: modifiedStatus() Получить битовую последовательность признаков изменения всех атрибутов в объекте по порядку :rtype: :class:`~PyQt5.QtCore.QBitArray` .. method:: setAllModified(value) Установить или сбросить признаки изменения для всех атрибутов в значение value :param value: значение :type value: :class:`bool` .. method:: saveModificationsFromOther(feature) Сохранить изменения из другой записи в текущую :param feature: другая запись :type feature: :class:`~axioma.core.dp.Feature` .. method:: name(index) Получить имя атрибута :param index: индекс атрибута объекта :type index: :class:`int` :return: имя атрибута по индексу из схемы объекта :rtype: :class:`str` .. .. method:: exportValues(output_archive, attributes=list()) .. .. !!! .. .. :param: !!! .. :return: !!! .. :rtype: !!! .. .. .. method:: importValues(input_archive) .. .. !!! .. .. :param: !!! .. :return: !!! .. :rtype: !!! .. method:: valuesToBinary(attributes=list()) Значения в виде массива байтов для заданного списка атрибутов :param attributes: список атрибутов, по-умолчанию - все атрибуты :type attributes: :class:`list` [:class:`str`] :return: значения записи у заданных атрибутов :rtype: :class:`~PyQt5.QtCore.QByteArray` .. method:: valuesToText(attributes=list()) Значения в виде строки для заданного списка атрибутов :param attributes: список атрибутов, по-умолчанию - все атрибуты :type attributes: :class:`list` [:class:`str`] :return: строка значений :rtype: :class:`str` .. method:: setValuesFromBinary(bytes) Установить значения из массива байтов :param bytes: значения в виде массива байтов :type bytes: :class:`~PyQt5.QtCore.QByteArray` .. method:: setValuesFromText(text) Установить значения из стоки :param text: значения в виде строки :type text: :class:`str` .. method:: isEmpty() Если все атрибуты пустые, возвращает True, если хотя бы один атрибут не пустой, возвращает False :rtype: :class:`bool` .. method:: schema() Схема таблицы, которой принадлежит запись :rtype: :class:`~axioma.core.dp.TableSchema` .. method:: copyResetId(requested_schema, new_id) Создать копию записи со заданным идентификатором :param requested_schema: схема таблицы, с которой будет ассоциирована запись :type requested_schema: :class:`~axioma.core.dp.ModifiedTableSchema` :param new_id: новый идентификатор :type new_id: :class:`~PyQt5.QtCore.QVariant` :return: новая запись :rtype: :class:`~axioma.core.dp.Feature` .. method:: copy(requested_schema) Создать записи таблицы с идентификатором по-умолчанию :param requested_schema: схема таблицы, с которой будет ассоциирована запись :type requested_schema: :class:`~axioma.core.dp.ModifiedTableSchema` :return: новая запись :rtype: :class:`~axioma.core.dp.Feature` .. method:: remap(requested_schema) Копирование записи и ассоциация ее со модифицированной схемой таблицы, созданной на основе заданной схемы таблицы :param requested_schema: схема таблицы :type requested_schema: :class:`~axioma.core.dp.TableSchema` :return: новая запись :rtype: :class:`~axioma.core.dp.Feature`