StyleCatalogService

class axioma.render.StyleCatalogService

Служба каталогов стилей оформления векторных графичекких объектов. Служит для оперативного изменения каталогов, в которых хранятся стили оформления объектов. Для постоянного запоминания значений с загрузкой в следующих сессиях работы необходимо использовать соответствующие методы класса RenderSettingsManager. Первоначально при загрузке служба инициализирует значения из настроек, которые были изменены посредством класса RenderSettingsManager

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

brushCatalog()

Установленный на данный момент каталог со стилями заливок

Тип результата:str
changed()

[signal] Сигнал испускается при смене любого из каталогов со стилями

defaultBrushDir()

Каталог по умолчанию для хранения стилей заливок

Тип результата:str
defaultPenDir()

Каталог по умолчанию для хранения стилей линий

Тип результата:str
defaultSymbolDir()

Каталог по умолчанию для хранения растровых символов

Тип результата:str
penCatalog()

Установленный на данный момент каталог со стилями линий.

Тип результата:str
resetToDefault()

Сброс пользовательских установок и задание каталогов по умолчанию

setBaseCatalog(dir)

Задает базовый каталог, в котором должны находиться подкаталоги со стандартными наименованиями Pen, Brush и CustSymb , в которых содержатся файлы с соответствующими стилями

Параметры:dir (QDir) – Базовый каталог, в котором предполагается расположены подкаталоги со стилями
Результат:True, если успешно. В противном случае False
Тип результата:bool
setBrushCatalog(dirName = None)

Смена каталога, в котором содержатся стили заливок. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию defaultBrushDir

Параметры:dirName (str) – Наименование каталога со стилями заливок. Если параметр опущен, каталог устанавливается по умолчанию как в первоначальном варианте поставки
Результат:True, если каталог существует и он непустой. В противном случае False
Тип результата:bool
setPenCatalog(dirName = None)

Смена каталога, в котором содержатся стили линий. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию defaultPenDir

Параметры:dirName (str) – Наименование каталога со стилями линий. Если параметр опущен, каталог устанавливается по умолчанию как в первоначальном варианте поставки
Результат:True, если каталог существует и он непустой. В противном случае False
Тип результата:bool
setSymbolCatalog(dirName = None)

Смена каталога, в котором содержатся растровые файлы точечных объектов. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию defaultSymbolDir

Параметры:dirName (str) – Наименование каталога с растрами точечных объектов. Если параметр опущен, каталог устанавливается по умолчанию как в первоначальном варианте поставки
Результат:True, если каталог существует и он непустой. В противном случае False
Тип результата:bool
symbolCatalog()

Установленный на данный момент каталог с растровыми файлами точечных объектов

Тип результата:str

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

from axioma.core.plugin import *
import axioma.render

# Создаем своё расширение и объявляем в нём службу каталогов для стилей
class MyExtension(axioma.core.plugin.Extension):
    def __init__(self):
        super().__init__()
        self.catalogService = self.createDependencyGetter(axioma.render.StyleCatalogService)

# Создаем расширение и регистрируем его в системе
ext = MyExtension()
axioma.app.core.prependExtension(ext)

if ext.catalogService is not None:
    # При смене каталога печатается сообщение
    ext.catalogService().changed.connect(lambda: print("Каталог сменен"))
    # Текущее значение  каталога с растровыми точечными стилями
    print('Текущий каталог: {}'.format(ext.catalogService().symbolCatalog()))
    ext.catalogService().setSymbolCatalog("c:\\work\\style\\CustSymb")
    print('Новый каталог: {}'.format(ext.catalogService().symbolCatalog()))
    ext.catalogService().setPenCatalog('c:\\work\\style\\Pen')
    # Сбрасываем каталог со стилями растровых точечных объектов на значение по умолчанию
    ext.catalogService().setSymbolCatalog()

Примечание

В поставку Аксиома.ГИС входит модуль для оперативного переключения между каталогами со стилями - styleCatalog. Подробнее см. исходные тексты модуля.