StyleCatalogService¶
-
class
axioma.render.
StyleCatalogService
¶ Служба каталогов стилей оформления векторных графических объектов. Служит для оперативного изменения каталогов, в которых хранятся стили оформления объектов. Для постоянного запоминания значений с загрузкой в следующих сессиях работы необходимо использовать соответствующие методы класса
RenderSettingsManager
. Первоначально при загрузке служба инициализирует значения из настроек, которые были изменены посредством классаRenderSettingsManager
Унаследован от:
QObject
-
changed
()¶ [signal] Сигнал испускается при смене любого из каталогов со стилями
-
resetToDefault
()¶ Сброс пользовательских установок и задание каталогов по умолчанию
-
setBaseCatalog
(dir)¶ Задает базовый каталог, в котором должны находиться подкаталоги со стандартными наименованиями Pen, Brush и CustSymb , в которых содержатся файлы с соответствующими стилями
-
setBrushCatalog
(dirName=None)¶ Смена каталога, в котором содержатся стили заливок. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию
defaultBrushDir
-
setPenCatalog
(dirName=None)¶ Смена каталога, в котором содержатся стили линий. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию
defaultPenDir
-
setSymbolCatalog
(dirName=None)¶ Смена каталога, в котором содержатся растровые файлы точечных объектов. Если каталог не по каким-то причинам не установлен, сбрасывается на значение по умолчанию
defaultSymbolDir
-
Пример использования:
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. Подробнее см. исходные тексты модуля.