magscope.ui.search#

Classes#

Functions#

Module Contents#

magscope.ui.search.normalize_search_text(text: str) str[source]#
class magscope.ui.search.SearchTarget[source]#
label: str[source]#
aliases: tuple[str, Ellipsis] = ()[source]#
context: str = ''[source]#
description: str = ''[source]#
keywords: tuple[str, Ellipsis] = ()[source]#
guide_only: bool = True[source]#
property display_label: str[source]#
property search_values: tuple[str, Ellipsis][source]#
class magscope.ui.search.PanelControlTarget[source]#

Bases: SearchTarget

panel_id: str = ''[source]#
widget_path: tuple[str, Ellipsis] = ()[source]#
class magscope.ui.search.PreferencesSettingTarget[source]#

Bases: SearchTarget

setting_key: str = ''[source]#
tab_name: str = 'MagScope'[source]#
class magscope.ui.search.PreferencesWidgetTarget[source]#

Bases: SearchTarget

tab_name: str = ''[source]#
widget_attr: str = ''[source]#
class magscope.ui.search.MenuActionTarget[source]#

Bases: SearchTarget

menu_name: str = ''[source]#
action_text: str = ''[source]#
class magscope.ui.search.SearchMatch[source]#
target: SearchTarget[source]#
rank: int[source]#
score: float = 0.0[source]#
class magscope.ui.search.SearchRegistry(targets: list[SearchTarget] | None = None)[source]#
RANK_EXACT_LABEL = 0[source]#
RANK_EXACT_DISPLAY = 1[source]#
RANK_EXACT_ALIAS = 2[source]#
RANK_PREFIX = 3[source]#
RANK_CONTAINS = 4[source]#
RANK_FUZZY = 5[source]#
RANK_EMPTY_QUERY = 10[source]#
_targets: list[SearchTarget] = [][source]#
property targets: list[SearchTarget][source]#
clear() None[source]#
register(target: SearchTarget) None[source]#
register_many(targets: list[SearchTarget] | tuple[SearchTarget, Ellipsis]) None[source]#
matches(text: str) list[SearchMatch][source]#
labels(text: str, *, limit: int = 20) list[str][source]#
best(text: str) SearchTarget | None[source]#
class magscope.ui.search.SearchHighlighter[source]#
_original_styles: dict[PyQt6.QtWidgets.QWidget, str][source]#
clear() None[source]#
highlight(widget: PyQt6.QtWidgets.QWidget, *, duration_ms: int = 2500) None[source]#
clear_widget(widget: PyQt6.QtWidgets.QWidget) None[source]#