Gui
===

.. currentmodule:: axioma.gui

.. class:: Gui

	Сервис пользовательского интерфейса. В рамках одного отдельного проекта	достаточно проинициализировать один экземпляр данного класса. \
	После создания сразу необходимо проинициализировать ядро с поддержкой GUI окружения. \
	Перед вызовом :meth:`~axioma.gui.Gui.initialize` 
	должен быть создан объект приложения  :class:`~PyQt5.QtWidget.QApplication`. При этом так-же вызывается инициализация \
	для окружения :meth:`~axioma.core.Core` и :meth:`~axioma.render.Render`

	.. code-block:: python
		:caption: Пример инициализации:

		import sys
		import axioma.gui
		from PyQt5.QtWidgets import QApplication

		a = QApplication(sys.argv)
		gui = axioma.gui.Gui()
		gui.initialize()


	.. note:: Получить существующий экземпляр можно через глобальную переменную axioma.app.gui

	Унаследован от: :class:`~axioma.render.Render`
	

		.. method:: Gui(parent=None)

			Конструктор класса

			:param parent: родительский объект
			:type parent: :class:`~PyQt5.QtCore.QObject` или :any:`None`

		.. method:: initialize

			Выполнить инициализацию

		.. method:: selectionManager()

			Получить ссылку на класс доступа к выделенным объектам

			:rtype: :class:`~axioma.core.dp.SelectionManager`

		.. method:: settingsManager()

			Получить ссылку на объект с текущими настройками приложения

			:rtype: :class:`~axioma.core.SettingsManager`

