yasmin_editor.editor_gui.plugin_catalog module
Pure helpers for building plugin-sidebar entries.
The sidebar lists are part of the original editor surface, so their display names should remain stable even while the Qt wiring around them evolves. This module keeps the naming rules and ordering outside the Qt widgets so they are easy to unit test and reuse.
- class yasmin_editor.editor_gui.plugin_catalog.PluginListEntry(list_name: str, display_name: str, payload: object)
Bases:
objectA single sidebar entry for one plugin source item.
- display_name: str
- list_name: str
- payload: object
- yasmin_editor.editor_gui.plugin_catalog.build_cpp_plugin_display_name(plugin: object) str
Return the stable sidebar label for a C++ state plugin.
- yasmin_editor.editor_gui.plugin_catalog.build_python_plugin_display_name(plugin: object) str
Return the stable sidebar label for a Python state plugin.
- yasmin_editor.editor_gui.plugin_catalog.build_xml_plugin_display_name(xml_plugin: object) str
Return the stable sidebar label for an XML state-machine file.
- yasmin_editor.editor_gui.plugin_catalog.iter_plugin_list_entries(plugin_manager: object) Iterator[PluginListEntry]
Yield sidebar entries in the same order as the original editor.
The order matters because the left sidebar is a high-frequency discovery surface. Keeping it deterministic also makes snapshot-like tests easier.
- yasmin_editor.editor_gui.plugin_catalog.list_widget_targets() Sequence[str]
Return the canonical sidebar widget attribute names.
- yasmin_editor.editor_gui.plugin_catalog.matches_plugin_filter(display_name: str, filter_text: str) bool
Return whether one sidebar entry matches the current filter text.
The sidebar filtering stays case-insensitive and treats an empty filter as a match for every entry. Keeping this rule outside Qt makes it easier to test and reuse anywhere the project needs the same list filtering semantics.