EJIO.ctk_extender.notification package

Inheritance diagram of EJIO.ctk_extender.notification.flags.StyleFlags, EJIO.ctk_extender.notification.base.BaseNotification, EJIO.ctk_extender.notification.position.NotificationPosition, EJIO.ctk_extender.notification.in_app_controller.InAppNotificationController, EJIO.ctk_extender.notification.desktop_controller.DesktopNotificationController

Submodules

EJIO.ctk_extender.notification.base module

class EJIO.ctk_extender.notification.base.BaseNotification(parent: Any, flags: StyleFlags = StyleFlags.DEFAULT, width: int = 320, height: int = 60, fg_color: str = '#1E293B', border_color: str = '#475569', **kwargs: Any)[исходный код]

Базовые классы: WidgetContainer

Базовый ООП-компонент уведомления. Строит пустую оболочку фона на основании битовой комбинации флагов StyleFlags. Центрирует вложенное содержимое, предотвращая перекрытие рамок.

build() → <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]

Парсит побитовые флаги и собирает пустую оболочку фона.

property content_area: <MagicMock name='mock.CTkFrame' id='140416972239120'>
property height: int
property width: int

EJIO.ctk_extender.notification.desktop_controller module

class EJIO.ctk_extender.notification.desktop_controller.DesktopNotificationController(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: StaticClass, Disposable

Статический контроллер внешних ООП-уведомлений рабочего стола. Использует потокобезопасную Queue буферизации для FIFO-ротации.

classmethod clear() → None[исходный код]

Полная выгрузка всех внешних окон при экстренном закрытии приложения.

classmethod push(notification_cls: type[BaseNotification], flags: StyleFlags = StyleFlags.DEFAULT, position: str = 'top_right', duration: float = 4.0, **kwargs: Any) → None[исходный код]

Потокобезопасно пушит ООП-карточку на рабочий стол ОС или в Queue буфер.

Параметры:
  • notification_cls – Класс уведомления.

  • flags – Флаги стиля уведомления.

  • position – Позиция уведомления.

  • duration – Длительность показа уведомления в с.

  • kwargs – Дополнительные параметры инициализации класса уведомления.

EJIO.ctk_extender.notification.err module

exception EJIO.ctk_extender.notification.err.NotificationMountError(message: str)[исходный код]

Базовые классы: CtkExtenderBaseError

Исключение связанное с ошибками монтирования уведомления.

EJIO.ctk_extender.notification.flags module

class EJIO.ctk_extender.notification.flags.StyleFlags(*values)[исходный код]

Базовые классы: IntEnum

Побитовые флаги оформления внешнего вида уведомлений. Позволяют декларативно конструировать фон, рамки и скругления.

BORDER_NONE = 16
BORDER_THICK = 64
BORDER_THIN = 32
DEFAULT = 41
FILLED = 1
ROUNDED = 8
SQUARE = 4
TRANSPARENT = 2

EJIO.ctk_extender.notification.in_app_controller module

class EJIO.ctk_extender.notification.in_app_controller.InAppNotificationController(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: StaticClass, Disposable

Статический контроллер внешних ООП-уведомлений главного окна. Использует потокобезопасную Queue буферизации для FIFO-ротации.

classmethod clear() → None[исходный код]

Полная выгрузка всех внешних окон при экстренном закрытии приложения.

classmethod push(notification_cls: type[BaseNotification], flags: StyleFlags = StyleFlags.DEFAULT, position: str = 'top_right', duration: float = 3.5, **kwargs: Any) → None[исходный код]

Потокобезопасно пушит ООП-карточку на главное окно или в Queue буфер.

Параметры:
  • notification_cls – Класс уведомления.

  • flags – Флаги стиля уведомления.

  • position – Позиция уведомления.

  • duration – Длительность показа уведомления в с.

  • kwargs – Дополнительные параметры инициализации класса уведомления.

EJIO.ctk_extender.notification.position module

class EJIO.ctk_extender.notification.position.NotificationPosition[исходный код]

Базовые классы: ABC

Абстрактный класс стратегии позиционирования уведомлений (In-App и Desktop).

abstractmethod apply_desktop(window: <MagicMock name = 'mock.CTkToplevel' id='140416955880592'>, offset_y: int, win_w: int, win_h: int) → None[исходный код]

Применяет координаты .geometry() на рабочем столе ОС.

abstractmethod apply_in_app(widget: <MagicMock name = 'mock.CTkFrame' id='140416972239120'>, offset_y: int) → None[исходный код]

Применяет координаты .place() внутри главного окна.

EJIO.ctk_extender.notification.position.get_position_strategy(name: str) → NotificationPosition[исходный код]

Извлекает стратегию по её текстовому маркеру.

Module contents

class EJIO.ctk_extender.notification.BaseNotification(parent: Any, flags: StyleFlags = StyleFlags.DEFAULT, width: int = 320, height: int = 60, fg_color: str = '#1E293B', border_color: str = '#475569', **kwargs: Any)[исходный код]

Базовые классы: WidgetContainer

Базовый ООП-компонент уведомления. Строит пустую оболочку фона на основании битовой комбинации флагов StyleFlags. Центрирует вложенное содержимое, предотвращая перекрытие рамок.

build() → <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]

Парсит побитовые флаги и собирает пустую оболочку фона.

property content_area: <MagicMock name='mock.CTkFrame' id='140416972239120'>
property height: int
property width: int
class EJIO.ctk_extender.notification.DesktopNotificationController(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: StaticClass, Disposable

Статический контроллер внешних ООП-уведомлений рабочего стола. Использует потокобезопасную Queue буферизации для FIFO-ротации.

classmethod clear() → None[исходный код]

Полная выгрузка всех внешних окон при экстренном закрытии приложения.

classmethod push(notification_cls: type[BaseNotification], flags: StyleFlags = StyleFlags.DEFAULT, position: str = 'top_right', duration: float = 4.0, **kwargs: Any) → None[исходный код]

Потокобезопасно пушит ООП-карточку на рабочий стол ОС или в Queue буфер.

Параметры:
  • notification_cls – Класс уведомления.

  • flags – Флаги стиля уведомления.

  • position – Позиция уведомления.

  • duration – Длительность показа уведомления в с.

  • kwargs – Дополнительные параметры инициализации класса уведомления.

class EJIO.ctk_extender.notification.InAppNotificationController(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]

Базовые классы: StaticClass, Disposable

Статический контроллер внешних ООП-уведомлений главного окна. Использует потокобезопасную Queue буферизации для FIFO-ротации.

classmethod clear() → None[исходный код]

Полная выгрузка всех внешних окон при экстренном закрытии приложения.

classmethod push(notification_cls: type[BaseNotification], flags: StyleFlags = StyleFlags.DEFAULT, position: str = 'top_right', duration: float = 3.5, **kwargs: Any) → None[исходный код]

Потокобезопасно пушит ООП-карточку на главное окно или в Queue буфер.

Параметры:
  • notification_cls – Класс уведомления.

  • flags – Флаги стиля уведомления.

  • position – Позиция уведомления.

  • duration – Длительность показа уведомления в с.

  • kwargs – Дополнительные параметры инициализации класса уведомления.

class EJIO.ctk_extender.notification.NotificationPosition[исходный код]

Базовые классы: ABC

Абстрактный класс стратегии позиционирования уведомлений (In-App и Desktop).

abstractmethod apply_desktop(window: <MagicMock name = 'mock.CTkToplevel' id='140416955880592'>, offset_y: int, win_w: int, win_h: int) → None[исходный код]

Применяет координаты .geometry() на рабочем столе ОС.

abstractmethod apply_in_app(widget: <MagicMock name = 'mock.CTkFrame' id='140416972239120'>, offset_y: int) → None[исходный код]

Применяет координаты .place() внутри главного окна.

class EJIO.ctk_extender.notification.StyleFlags(*values)[исходный код]

Базовые классы: IntEnum

Побитовые флаги оформления внешнего вида уведомлений. Позволяют декларативно конструировать фон, рамки и скругления.

BORDER_NONE = 16
BORDER_THICK = 64
BORDER_THIN = 32
DEFAULT = 41
FILLED = 1
ROUNDED = 8
SQUARE = 4
TRANSPARENT = 2
EJIO.ctk_extender.notification.get_position_strategy(name: str) → NotificationPosition[исходный код]

Извлекает стратегию по её текстовому маркеру.