FunctionFilter - Ограничения, накладываемые на набор функций
=======================================================================

.. currentmodule:: axioma.core.sql

.. class:: GuiType()

	Признак отображения функции в пользовательском интерфейсе

	.. csv-table:: Правила отображения :data:`GuiType`:
		:header: "Тип", "Значение", "Описание"

		``Visible``, 0, "Функция (или оператор) доступна в списке пользовательского интерфейса"
		``Hidden``, 1, "Функция (или оператор) недоступна в списке пользовательского интерфейса"
		``DontMatter``, 2, "Неважно, доступна функция (или оператор) в списке пользовательского интерфейса или нет (используется при фильтрации)"


.. class:: FunctionFilter()

	Условия отбора функций

Методы:

	.. method:: FunctionFilter(mask)

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

		:param mask: Требуемый набор типов функций
		:type mask: :class:`~axioma.core.sql.FunctionInfo.TypeMask`

	.. method:: setRegExp(regExp)

		Установка регулярного выражения, которому должны соответствовать имена или описания функций

		:param regExp: Регулярное выражение
		:type regExp: :class:`~PyQt5.QtCore.QRegularExpression`
		:return: Ссылка на текущий экземпляр класса
		:rtype: :class:`~axioma.core.sql.FunctionFilter`

	.. method:: setRegExp(regExpPattern)

		Установка регулярного выражения, которому должны соответствовать имена или описания функций (поиск производится без учёта различия строчных и прописных символов)

		:param regExpPattern: Строка регулярного выражения
		:type regExpPattern: :class:`str`
		:return: Ссылка на текущий экземпляр класса
		:rtype: :class:`~axioma.core.sql.FunctionFilter`

	.. method:: setHidden(guiType)

		Установка признака получения записей для представления пользователю

		:param guiType: Признак отображения функции в пользовательском интерфейсе
		:type guiType: :class:`axioma.core.sql.GuiType`
		:return: Ссылка на текущий экземпляр класса
		:rtype: :class:`~axioma.core.sql.FunctionFilter`

	.. method:: setLang(lang)

		Установка языка описания (относится к выдаваемой информации, а не к фильтрации по регулярному выражению)

		:param lang: Интересующий язык описания
		:type lang: :class:`~PyQt5.QtCore.QLocale`.Language
		:return: Ссылка на текущий экземпляр класса
		:rtype: :class:`~axioma.core.sql.FunctionFilter`

