FeaturePython methods/ru

Введение
Данная страница содержит справочные данные по доступным переопределяемым методам примененных в описаниях: Create a FeaturePython object part I и Программируемые объекты.

Основная ссылка
Указанные ниже методы в ~ 99% случаев применяются опытными пользователями proxy классов Python.

Нередко можно столкнуться с ситуацией, когда обратные вызовы (callbacks) Python запускаются не так, как следовало бы. Начинающие в этой области могут быть уверены, что система обратного вызова FeaturePython не является хрупкой или сломанной. Неизменно, когда обратные вызовы не выполняются, это происходит из-за того, что ссылка потеряна или не определена в базовом коде. Однако, если кажется, что обратные вызовы прерываются без объяснения причин, предоставление ссылок на объекты/proxy ссылки в обратном вызове (как указано в первой таблице выше) может облегчить эти проблемы. Пока вы не освоитесь с системой обратного вызова, может быть полезно добавлять инструкции вывода в консоль print в каждый обратный вызов для вывода сообщений в консоль в процессе разработки.

Дополнительные методы
Приведенные ниже методы предназначены для продвинутого применения proxy классов Python, как правило в большинстве случаев они вам не понадобятся.


 * mustExecute
 * getViewProviderName
 * getSubObject
 * getSubObjects
 * getLinkedObject
 * hasChildElement
 * isElementVisible
 * canLinkProperties
 * allowDuplicateLabel
 * redirectSubName
 * canLoadPartial
 * onBeforeChangeLabel

Определение всех доступных Python методов
В случаях, когда документация к описываемому классу не актуализирована, вы можете самостоятельно определить какие методы доступны в нем, обратившись к исходному C++ коду. Например в классе шаблоне FeaturePython перечислены различные вызовы, в виде:.

Каждому из них соответствует аналогичный метод доступный в Python.

К примеру,  в строке 193 означает, что   метод доступен в Python коде.

Обратите внимание, что  и   являются особыми случаями и не подлежат подобному способу определения.

Смотрите также

 * FreeCAD GitHub: FeaturePython.h - public API
 * FreeCAD GitHub: FeaturePythonT template class
 * FreeCAD Forum Discussion: Scripted Objects Complete Method Reference