SnapHandler
=================

.. currentmodule:: axioma.gui

.. class:: SnapHandler

	Класс инструмента, который может быть использован в составе других инструментов. Используется, если необходимо обеспечить привязку к существующим узлам окна карты или отчета. Может быть добавлен в как элемент составного инструмента посредством метода  :meth:`~axioma.gui.ChainTool.addSubtool`. Область поиска узла задается в настройках и может быть определена посредством метода :meth:`~axioma.gui.GuiSettingsManager.snapSensitiveRadius`

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

	* :class:`~axioma.gui.Tool`
	
	Методы:

		.. py:method:: SnapHandler(view, settingsManager, currentPointSource)

			Конструктор

			:param view: Окно, в котором будут обрабатываться события
			:type view: :class:`~axioma.gui.ItemView`
			:param settingsManager: Ссылка на текущие настройки
			:type settingsManager: :class:`~axioma.gui.GuiSettingsManager`
			:param currentPointSource: Ранее созданный объект для преобразования между экранными координатами и координатами карты или отчета. Может быть создан ранее в составе объекта класса :class:`~axioma.gui.DeviceToSceneHandler`, который в свою очередь может работать совместно с данным инструментом в составе сложного инструмента :class:`~axioma.gui.ChainTool`
			:type currentPointSource: :class:`~axioma.gui.CurrentPointSource`

		.. py:method:: snapPoint()

			Возвращает исправленные текущие координаты

			:rtype: :class:`~PyQt5.QtCore.QPointF`


