The way we build context menus in `outliner_tools.cc` is known to be quite a mess. It's done unlike any other menus and it's not exactly trivial to add new entries or entire menus. The entries are mostly callback based and controlled by a general operator. So often the tooltips aren't specific or just say "(undocumented operator)" even.First step towards {T101007}
This mainly proposes two things:- Adds support for building context menus with a new ``AbstractTreeElement::expandContextMenu()`.
- Let elements themselves have control over the context menu by overriding `AbstractTreeElement::expandContextMenu()`.
- Use proper operators for entries. The operators can get the necessary data via context provided by the Outliner. (Building and using this context isn't too efficient yet, but could be improved if needed).
As an example, this portsPort the scene context menu to the new design, which is only one operator (for starters).
There are likely entires that rely on data that can't be passed around via context currently.as a first, For them using callback based entries is fine for now stillsimple test case.