jdxi_editor.jdxi.style.theme_manager ==================================== .. py:module:: jdxi_editor.jdxi.style.theme_manager .. autoapi-nested-parse:: Centralized theme management for JD-Xi Editor. Provides a single point of control for applying themes, custom stylesheets, and ensuring consistent styling across the application. Classes ------- .. autoapisummary:: jdxi_editor.jdxi.style.theme_manager.JDXiThemeManager Functions --------- .. autoapisummary:: jdxi_editor.jdxi.style.theme_manager.get_theme_manager Module Contents --------------- .. py:class:: JDXiThemeManager Bases: :py:obj:`PySide6.QtCore.QObject` Centralized theme management for JD-Xi Editor .. py:attribute:: _instance :type: Optional[JDXiThemeManager] :value: None .. py:attribute:: _initialized :value: True .. py:method:: apply_style(widget: PySide6.QtWidgets.QWidget, style: str) -> None :staticmethod: Apply a style string to a widget. :param widget: QWidget to apply style to :param style: str Style sheet string .. py:method:: apply_editor_title_label(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply editor title label style .. py:method:: apply_analog_section_header(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog section header style .. py:method:: apply_digital_section_header(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply digital section header style .. py:method:: apply_midi_monitor(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply MIDI message monitor style .. py:method:: apply_status_indicator_active(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply active status indicator style :param widget: QWidget to style :param analog: bool If True, use analog (blue) style, else digital (red) .. py:method:: apply_status_indicator_inactive(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply inactive status indicator style .. py:method:: apply_button_glow_red(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply red glow button style .. py:method:: apply_button_glow_analog(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog (blue) glow button style .. py:method:: apply_waveform_button(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply waveform button style :param widget: QWidget to style :param analog: bool If True, use analog style, else digital .. py:method:: apply_instrument_background(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply instrument background gradient style .. py:method:: apply_editor_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply editor style :param widget: QWidget to style :param analog: bool If True, use analog editor style, else standard .. py:method:: apply_instrument_title_label(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply instrument title label style .. py:method:: apply_mixer_label(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply mixer label style :param widget: QWidget to style :param analog: bool If True, use analog mixer label style, else standard .. py:method:: apply_partial_switch(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply partial switch (checkbox) style .. py:method:: apply_adsr_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply ADSR envelope style :param widget: QWidget to style :param analog: bool If True, use analog ADSR style, else standard .. py:method:: apply_adsr_plot(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply ADSR plot style .. py:method:: apply_adsr_disabled(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply ADSR disabled style .. py:method:: apply_tabs_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply tabs style :param widget: QWidget to style :param analog: bool If True, use analog tabs style, else standard .. py:method:: apply_transparent(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply transparent style .. py:method:: apply_debugger_window(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply debugger window style .. py:method:: apply_combo_box(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply combo box style :param widget: QWidget to style :param analog: bool If True, use analog combo box style, else standard .. py:method:: apply_line_edit(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply line edit style .. py:method:: apply_button_rect_analog(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog rectangular button style (blue) .. py:method:: apply_button_analog_active(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog active button style (blue, active state) .. py:method:: apply_table_style(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply table style with rounded corners and charcoal embossed cells .. py:method:: get_application_style() -> str :staticmethod: Get the complete application-wide stylesheet. This combines all the recent styling improvements into a single stylesheet that can be applied to the QApplication instance. :return: str Complete stylesheet string .. py:method:: apply_application_style() -> bool :staticmethod: Apply the complete application-wide stylesheet to the QApplication instance. :return: bool True if successful, False otherwise .. py:method:: initialize() -> bool :staticmethod: Initialize the theme system. This is the main entry point for theme initialization. :return: bool True if initialization was successful, False otherwise .. py:function:: get_theme_manager() -> JDXiThemeManager Get the singleton ThemeManager instance