ChainTool
=======================

.. currentmodule:: axioma.gui

.. class:: ChainTool

	Класс для составных инструментов. Этот класс предназначен для инструментов,
	которые можно представить в виде цепочки обработчиков событий. Как правило
	наследник это класса добавляет в конструкторе обработчики, наследованные от
	Tool с помощью метода addSubtool. При возникновении события, оно будет
	передаваться каждому инструменту в порядке добавления, пока обработчик события
	этого инструмента не вернет Tool.BlockEvent.

	Наследован от:
	
	* :class:`~axioma.gui.Tool`
	
	От него наследуются:
	
	* :class:`~axioma.gui.SnapTool`

	Методы:

		.. method:: ChainTool(widget)

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

			:param widget: Виджет, от которого инструмент будет получать события
			:type widget: :class:`~PyQt5.QtWidgets.QWidget`

		.. method:: addSubtool(tool)

			Добавление инструмента в цепочку обработчиков события

			:param tool: Инструмент
			:type tool: :class:`~axioma.gui.Tool`
