Event-bubbling #11

Closed
opened 2026-04-16 19:54:42 +00:00 by sebastian · 1 comment
Owner

Problem: Events werden nicht durch den Baum propagiert. Wenn ein Kind-Element geclickt wird, muss der Parent das selbst abfragen. Wrapper-Komponenten können keine Events ihrer Kinder beobachten.
Lösung: Nach dem Feuern eines Events auf einem Node wird er automatisch an parent weitergeleitet, sofern nicht gestoppt:

struct MouseEventData {
    // ...
    void stopPropagation() { propagationStopped = true; }
    bool propagationStopped = false;
};

UiComponent::dispatchEvent() (bereits ansatzweise vorhanden) korrekt implementieren.
Acceptance Criteria:

  • Click auf ein Kind-Element erreicht den Parent via Bubbling
  • stopPropagation() unterbricht die Weitergabe
  • UiBuildingMenuContainer kann auf Button-Clicks hören ohne direkte Callback-Kette
**Problem**: Events werden nicht durch den Baum propagiert. Wenn ein Kind-Element geclickt wird, muss der Parent das selbst abfragen. Wrapper-Komponenten können keine Events ihrer Kinder beobachten. **Lösung**: Nach dem Feuern eines Events auf einem Node wird er automatisch an parent weitergeleitet, sofern nicht gestoppt: ``` struct MouseEventData { // ... void stopPropagation() { propagationStopped = true; } bool propagationStopped = false; }; ``` UiComponent::dispatchEvent() (bereits ansatzweise vorhanden) korrekt implementieren. Acceptance Criteria: - Click auf ein Kind-Element erreicht den Parent via Bubbling - stopPropagation() unterbricht die Weitergabe - UiBuildingMenuContainer kann auf Button-Clicks hören ohne direkte Callback-Kette
sebastian added this to the Event-System milestone 2026-04-16 19:54:42 +00:00
sebastian added the
refactoring
engine
labels 2026-04-16 19:54:42 +00:00
sebastian added this to the Dicewars project 2026-04-16 21:00:44 +00:00
Author
Owner

YAGNI

YAGNI
sebastian added the
wontfix
label 2026-04-20 09:18:16 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebastian/Dicewars-Siedler#11
No description provided.