GeometryStyleManager ====================== .. currentmodule:: axioma.render .. class:: GeometryStyleManager Менеджер зарегистрированных расширений, позволяющих поставить в соответствие стиль оформления объекта и его геометрию. Унаследован от: :class:`~PyQt5.QtCore.QObject` .. py:method:: styleExtensionByStyle(style) Получение расширения для заданного стиля :param style: Анализируемый стиль :type style: :class:`~axioma.render.Style` :return: Найденное расширение или None :rtype: :class:`~axioma.render.StyleExtension` Пример использования: .. code-block:: python from axioma.core.plugin import * # Объявляем класс-расширение для получения менеджера стилей class MyExtension(axioma.core.plugin.Extension): def __init__(self): super().__init__() self.styleManager = self.createDependencyGetter(axioma.render.GeometryStyleManager) # Создаем расширение как объект и регистрируем его в системе ext = MyExtension() axioma.app.gui.prependExtension(ext) # Запрашиваем менеджер if ext.styleManager is not None: # Создаем стиль из строки MapBasic style = MapBasicStyle().styleFromString("Brush (2,16776960,16777215) Pen (1,2,0)") # Через менеджер расширений получаем нужное расширение для заданного стиля styleExt = ext.styleManager().styleExtensionByStyle(style) print('Тип геометрии={}, Стиль геометрии={}'.format(styleExt.geometryStyleClassId(), styleExt.styleId()))