ClassStylePair ================= .. currentmodule:: axioma.render .. class:: ClassStylePair Контейнер, содержащий класс стиля геометрии и конкретного соответствующего ему стиля оформления .. py:attribute:: geomStyle Стиль с геометрией :type: :class:`GeometryStyleClass` .. py:attribute:: style Конкретное значение стиля :type: :class:`Style` CollectionStyle ================= .. currentmodule:: axioma.render .. class:: CollectionStyle Класс - контейнер, содержащий набор пар соответствий типа геометрии и стиля его оформления Унаследован от: :class:`Style` От него наследуются: :class:`~axioma.mapinfo.MapinfoCollectionStyle` .. py:method:: CollectionStyle() Конструктор со значениями по-умолчанию .. py:method:: CollectionStyle(other) Копирующий конструктор :param other: Исходный объект CollectionStyle, на базе которого необходимо сделать копию. :type other: :class:`CollectionStyle` .. py:method:: CollectionStyle(classStyleList) Конструктор :param classStyleList: Список, с которым инициализируется коллекция. :type classStyleList: :class:`list` [:class:`~axioma.render.ClassStylePair`] .. py:method:: classStylePairs() Получение списка всех доступных пар соответствий :return: Список :rtype: :class:`list` [`ClassStylePair`] .. py:method:: style(geometry) Получение стиля по геометрии :param geometry: Анализируемая геометрия :type geometry: :class:`~axioma.core.geometry.Geometry` :return: Стиль. Если соответствия не найдено, возвращается None :rtype: :class:`Style` .. py:method:: style(geometry) Получение стиля по строковому идентификатору класса геометрии .. csv-table:: Существующие допустимые значения идентификатора класса геометрии: :header: "Значение", "Описание" 'Point', "Точечные объекты" 'Linear', "Линейные объекты" 'Polygonal', "Площадные объекты" 'MultiGeometry', "Сложные объекты" 'Text', "Текстовые объекты" :param `str` geometryClassId: Идентификатор класса геометрии :return: Стиль. Если соответствия не найдено, возвращается None :rtype: :class:`Style` .. py:method:: style(geometryClass) Получение стиля по экземпляру геометрии стилей :param `GeometryStyleClass` geometryClass: Экземпляр стиля геометрии :return: Стиль. Если соответствия не найдено, возвращается None :rtype: :class:`Style` .. py:method:: setStyle(geometryStyleClass, style) Определение нового соответствия между экземпляром стиля геометрии и конкретным значением стиля :param `GeometryStyleClass` geometryStyleClass: Экземпляр стиля геометрии :param `Style` style: Соответствующий стиль .. py:method:: setStyle(geomClassId, style) Определение нового соответствия между идентификатором класса геометрии и конкретным значением стиля :param `str` geomClassId: Идентификатор класса геометрии :param `Style` style: Соответствующий стиль Пример использования: .. code-block:: python from axioma.mapinfo import * from axioma.render import * collStyle = CollectionStyle() style = MapBasicStyle().styleFromString("Brush (2,16776960,16777215) Pen (1,2,0)") # Устанавливаем стиль для полигона collStyle.setStyle(PolygonalGeometryClass(), style) Получить тип геометрии для установки стиля можно у расширения :class:`~axioma.render.StyleExtension` при помощи менеджера стилей :class:`~axioma.render.GeometryStyleManager` (там же пример использования) .. code-block:: python ... styleExt = ext.styleManager().styleExtensionByStyle(style) collStyle.setStyle(styleExt.geometryStyleClassId(), style)