Core - Базовый сервисный класс ================================ .. currentmodule:: axioma.core .. class:: Core Базовый сервисный класс От него наследуются: :class:`~axioma.render.Render` .. py:method:: Core(parent=None) Конструктор :param parent: Родительский объект :type parent: :class:`~PyQt5.QtCore.QObject` или :any:`None` .. method:: enableLoggingToConsole(enabled=True) Включить или выключить вывод лога в консоль :param enabled: желаемое состояние вывода; по-умолчанию - `True`, т.е. осуществлять вывод :type enabled: :class:`bool` .. method:: dataProviders() Список загруженных провайдеров данных :return: загруженные провайдеры :rtype: :class:`list` [:class:`~axioma.core.dp.DataProvider`] .. py:method:: dataProviderById(id) Получение провайдера данных по его идентификатору :param id: Текстовый идентификатор провайдера :type id: :class:`str` :return: Найденный провайдер или :any:`None` :rtype: :class:`~axioma.core.dp.DataProvider` .. code-block:: python :caption: Пример использования: # находим необходимый провайдер dp = axioma.app.gui.dataProviderById("GdalDataProvider") if dp is not None: ... .. py:method:: validDataDir() Получение каталога с ресурсами приложения :return: Каталог :rtype: :class:`~PyQt5.QtCore.QDir` .. method:: pluginManager Получить менеджер плагинов :return: менеджер плагинов :rtype: :class:`~axioma.core.plugin.PluginManager` .. method:: notificationManager Получить менеджер уведомлений :return: менеджер уведомлений :rtype: :class:`~axioma.core.NotificationManager` .. method:: registerService(service, name) Регистрация сервиса ``service`` с именем ``name``. Все расширения, которые объявили зависимость от сервиса с таким именем будут оповещены о его регистрации. :param service: Объект сервиса :type service: :class:`~PyQt5.QtCore.QObject` :param name: Имя сервиса :type name: :class:`str` .. method:: registerService(service) Регистрация сервиса с именем соответствующим его типу. Аналогичен вызову .. code-block:: python registerService(service, service.metaObject().className()) .. method:: getService(service_type, name=None) Получить сервис типа ``service_type``. Если ``name`` == None, будет использовано стандартное имя сервиса ``service.metaObject().className()`` .. note:: В момент вызова метода нет гарантии, что запрашиваемый сервис уже зарегистрирован в системе. Для того, чтобы получить сервис, как только он станет доступным, используйте механизм :ref:`Управления зависимостями ` :param service_type: Тип класса сервиса :type service_type: тип класса, наследованный от :class:`~PyQt5.QtCore.QObject` :param name: Имя сервиса :type name: :class:`str` .. code-block:: python service = axioma.app.core.getService(axioma.core.plugin.PluginManager) .. py:method:: translationLanguage() Возвращает язык интерфейса приложения :return: Значение 'ru', 'en' :rtype: :class:`str` .. py:method:: prependExtension(ext) Регистрация нового, ранее созданного, расширения в системе :param ext: Расширение :type ext: :class:`~axioma.core.plugin.Extension` .. py:method:: prependExtensions(exts) Регистрация списка расширений в системе :param exts: Расширения :type exts: :class:`list` [:class:`~axioma.core.plugin.Extension`] .. py:method:: settings() Постоянные настройки приложения :rtype: :class:`~PyQt5.QtCore.QSettings`