StyleCatalogService

class axioma.render.StyleCatalogService

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

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

setBaseCatalog(dir)

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

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

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

setPenCatalog(dirName = None)

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

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

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

Тип результата:str
setBrushCatalog(dirName = None)

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

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

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

Тип результата:str
setSymbolCatalog(dirName = None)

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

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

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

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

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

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

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

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

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

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

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

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

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