Исходный код EJIO.ctk_extender.widget.geometry.implementations
## /ctk_extender/widget/geometry/implementations.py
import customtkinter as ctk
from .base import GeometryStrategy
__all__ = [
'PackStrategy',
'GridStrategy',
'PlaceStrategy',
]
[документация]
class PackStrategy(GeometryStrategy):
"""Стратегия позиционирования виджета через метод pack()."""
__slots__ = ()
[документация]
def mount(self, instance: ctk.CTkBaseClass) -> None:
instance.pack(**self._kwargs)
[документация]
def unmount(self, instance: ctk.CTkBaseClass) -> None:
instance.pack_forget()
[документация]
class GridStrategy(GeometryStrategy):
"""Стратегия позиционирования виджета через метод grid()."""
__slots__ = ()
[документация]
def mount(self, instance: ctk.CTkBaseClass) -> None:
instance.grid(**self._kwargs)
[документация]
def unmount(self, instance: ctk.CTkBaseClass) -> None:
instance.grid_forget()
[документация]
class PlaceStrategy(GeometryStrategy):
"""Стратегия позиционирования виджета через метод place()."""
__slots__ = ()
[документация]
def mount(self, instance: ctk.CTkBaseClass) -> None:
instance.place(**self._kwargs)
[документация]
def unmount(self, instance: ctk.CTkBaseClass) -> None:
instance.place_forget()