jdxi_editor.jdxi.style.theme_manager

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

JDXiThemeManager

Centralized theme management for JD-Xi Editor

Functions

get_theme_manager(→ JDXiThemeManager)

Get the singleton ThemeManager instance

Module Contents

class jdxi_editor.jdxi.style.theme_manager.JDXiThemeManager[source]

Bases: PySide6.QtCore.QObject

Centralized theme management for JD-Xi Editor

_instance: JDXiThemeManager | None = None[source]
_initialized = True[source]
static apply_style(widget: PySide6.QtWidgets.QWidget, style: str) None[source]

Apply a style string to a widget.

Parameters:
  • widget – QWidget to apply style to

  • style – str Style sheet string

static apply_editor_title_label(widget: PySide6.QtWidgets.QWidget) None[source]

Apply editor title label style

static apply_analog_section_header(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog section header style

static apply_digital_section_header(widget: PySide6.QtWidgets.QWidget) None[source]

Apply digital section header style

static apply_midi_monitor(widget: PySide6.QtWidgets.QWidget) None[source]

Apply MIDI message monitor style

static apply_status_indicator_active(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply active status indicator style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog (blue) style, else digital (red)

static apply_status_indicator_inactive(widget: PySide6.QtWidgets.QWidget) None[source]

Apply inactive status indicator style

static apply_button_glow_red(widget: PySide6.QtWidgets.QWidget) None[source]

Apply red glow button style

static apply_button_glow_analog(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog (blue) glow button style

static apply_waveform_button(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply waveform button style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog style, else digital

static apply_instrument_background(widget: PySide6.QtWidgets.QWidget) None[source]

Apply instrument background gradient style

static apply_editor_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply editor style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog editor style, else standard

static apply_instrument_title_label(widget: PySide6.QtWidgets.QWidget) None[source]

Apply instrument title label style

static apply_mixer_label(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply mixer label style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog mixer label style, else standard

static apply_partial_switch(widget: PySide6.QtWidgets.QWidget) None[source]

Apply partial switch (checkbox) style

static apply_adsr_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply ADSR envelope style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog ADSR style, else standard

static apply_adsr_plot(widget: PySide6.QtWidgets.QWidget) None[source]

Apply ADSR plot style

static apply_adsr_disabled(widget: PySide6.QtWidgets.QWidget) None[source]

Apply ADSR disabled style

static apply_tabs_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply tabs style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog tabs style, else standard

static apply_transparent(widget: PySide6.QtWidgets.QWidget) None[source]

Apply transparent style

static apply_debugger_window(widget: PySide6.QtWidgets.QWidget) None[source]

Apply debugger window style

static apply_combo_box(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply combo box style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog combo box style, else standard

static apply_line_edit(widget: PySide6.QtWidgets.QWidget) None[source]

Apply line edit style

static apply_button_rect_analog(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog rectangular button style (blue)

static apply_button_analog_active(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog active button style (blue, active state)

static apply_table_style(widget: PySide6.QtWidgets.QWidget) None[source]

Apply table style with rounded corners and charcoal embossed cells

static get_application_style() str[source]

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.

Returns:

str Complete stylesheet string

static apply_application_style() bool[source]

Apply the complete application-wide stylesheet to the QApplication instance.

Returns:

bool True if successful, False otherwise

static initialize() bool[source]

Initialize the theme system.

This is the main entry point for theme initialization.

Returns:

bool True if initialization was successful, False otherwise

jdxi_editor.jdxi.style.theme_manager.get_theme_manager() JDXiThemeManager[source]

Get the singleton ThemeManager instance