Add Dispatch_V0.1.1
This commit is contained in:
41
Dispatch_V0.1.1/gui/components/model_view/_mv_interaction.py
Normal file
41
Dispatch_V0.1.1/gui/components/model_view/_mv_interaction.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# gui/components/model_view/_mv_interaction.py
|
||||
# Камера, клики, события мыши — композиция специализированных миксинов.
|
||||
|
||||
from gui.components.model_view._mv_interaction_core import InteractionCoreMixin
|
||||
from gui.components.model_view._mv_interaction_events import InteractionEventsMixin
|
||||
from gui.components.model_view._mv_interaction_nav import InteractionNavigationMixin
|
||||
|
||||
|
||||
class InteractionMixin(
|
||||
InteractionCoreMixin,
|
||||
InteractionEventsMixin,
|
||||
InteractionNavigationMixin,
|
||||
):
|
||||
"""Камера, клик-обработка, колесо мыши, eventFilter."""
|
||||
pass
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Module workflow notes
|
||||
# ---------------------------------------------------------------------------
|
||||
# 1) Задача модуля:
|
||||
# Композиционный фасад взаимодействия со сценой: события мыши, навигация и базовые операции.
|
||||
#
|
||||
# 2) Последовательность действий и вызовов:
|
||||
# A. Композиционный класс InteractionMixin:
|
||||
# Назначение: объединяет поведение через InteractionCoreMixin,
|
||||
# InteractionEventsMixin, InteractionNavigationMixin.
|
||||
# InteractionCoreMixin — координаты, камера, утилиты interactor.
|
||||
# InteractionEventsMixin — тонкий диспетчер eventFilter → InteractionManager.
|
||||
# InteractionNavigationMixin — навигация, plotter click callback.
|
||||
# Вся логика сценариев вынесена в _interaction_scenario.py + _scenario_*.py.
|
||||
#
|
||||
# 3) Важные ограничения и инварианты:
|
||||
# - Модуль выполняется в составе ModelViewWidget и использует согласованные поля состояния self._... .
|
||||
# - Межмодульная связность: только через фасад model_view; прямые обращения между zone, rack, shelf, cell запрещены.
|
||||
# - Очистка состояния должна быть идемпотентной: повторный вызов не меняет корректное состояние в ошибочное.
|
||||
#
|
||||
# 4) Правило сопровождения:
|
||||
# - Любое изменение сценария должно сопровождаться обновлением этого блока с сохранением фактического порядка вызовов.
|
||||
# - При добавлении метода указывать его место в цепочке сценария (запуск, основной шаг, завершение, вспомогательная логика).
|
||||
Reference in New Issue
Block a user