abstract¶
Abstract base classes that define the interfaces the core and layout modules
share. They break circular imports and document the contract that Patcher,
Box, and Patchline implement. Not intended for direct use.
Abstract base classes for py2max core objects.
This module defines abstract base classes to break circular dependencies between core.py and layout.py modules.
AbstractLayoutManager ¶
Bases: ABC
Abstract base class for LayoutManager objects.
This class defines the interface that layout managers expect from a LayoutManager object, allowing layout.py to reference LayoutManager without creating circular imports.
get_rect_from_maxclass
abstractmethod
¶
retrieves default patching_rect from defaults dictionary.
get_relative_pos
abstractmethod
¶
returns a relative position for the object
get_absolute_pos
abstractmethod
¶
returns an absolute position for the object
get_pos
abstractmethod
¶
get box rect (position) via maxclass or layout_manager
AbstractBox ¶
Bases: ABC
Abstract base class for Box objects.
This class defines the interface that layout managers expect from a Box object, allowing layout.py to reference Box without creating circular imports.
AbstractPatchline ¶
Bases: ABC
Abstract base class for Patchline objects.
This class defines the interface that layout managers expect from a Patchline object, allowing layout.py to reference Patchline without creating circular imports.
AbstractPatcher ¶
Bases: ABC
Abstract base class for Patcher objects.
This class defines the interface that layout managers expect from a Patcher object, allowing layout.py to reference Patcher without creating circular imports.