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. Подробнее см. исходные тексты модуля.