GeometryStyleManager

class axioma.render.GeometryStyleManager

Менеджер зарегистрированных расширений, позволяющих поставить в соответствие стиль оформления объекта и его геометрию.

Унаследован от: QObject

styleExtensionByStyle(style)

Получение расширения для заданного стиля

Параметры:style (Style) – Анализируемый стиль
Результат:Найденное расширение или None
Тип результата:StyleExtension

Пример использования:

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()))