0
0
forked from blender/blender
blender/doc/python_api
Luna Rood 8a799b00f8 Fix T100423: Addon's custom context menu entries get overridden by other addons
This introduces a new `UI_MT_button_context_menu` class which is
registered at startup. Addons can append/prepend draw functions to this
class, in order to add their custom context menu entries.

The new class replaces the old `WM_MT_button_context` class, thus
requiring a small change in addons using this feature. This is done
because addons were previously required to register the class
themselves, which caused addons to override each other's context menu
entries.

Now the class registration is handled by Blender, and addons need only
append their draw functions. The new class name ensures that addons
using the old method don't override menu entries made using the new
class.

Menu entries added with the legacy `WM_MT_button_context` class are
still drawn for backwards compatibility, but this class must not be used
going forward, as any addon using it still runs the risk of having its
menu entries overridden, and support for the legacy class is subject to
removal in a future version.

Reviewed By: campbellbarton

Maniphest Tasks: T100423

Differential Revision: https://developer.blender.org/D15702
2022-08-18 14:46:30 +02:00
..
examples Fix T100423: Addon's custom context menu entries get overridden by other addons 2022-08-18 14:46:30 +02:00
rst Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
static PyDoc: remove CSS override for scrolling long enum lists 2022-06-02 10:03:00 +10:00
templates Py Docs: Implement version switch to switch between versions on the website 2022-02-03 14:25:26 -05:00
requirements.txt PyDocs: remove sphinx-intl 2022-06-05 23:13:26 -04:00
rst_from_bmesh_opdefines.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
sphinx_changelog_gen.py Cleanup: format 2022-06-29 10:19:02 +10:00
sphinx_doc_gen_monkeypatch.py Cleanup: remove "<pep8 compliant>" from headers 2022-06-02 20:16:20 +10:00
sphinx_doc_gen.py Fix T99966: Python API docs fail to generate 2022-07-26 12:51:01 +10:00