UiButton als zusammengesetzte Komponente #12
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sebastian/Dicewars-Siedler#12
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem: UiButton ist ein monolithischer Blattknoten der Text und Hintergrund selbst in onCollectRenderData() rendert. Es ist unmöglich, einen Button mit Icon + Text, oder Text + Badge zu bauen ohne eine neue Klasse zu schreiben.
Lösung: UiButton wird zu einer UiBox mit Kindern:
UiBox (onClick-Handler, VisualStyle für hover/click)
├── UiImage (Icon, optional)
└── UiText (Label)
Die alte UiButton-Klasse wird durch eine Factory-Funktion ersetzt:
// Statt: auto btn = std::make_unique(texID, "Text", font, style);
// Neu:
Intern erzeugt UiButton::create() eine UiBox mit den passenden Kindern.
Acceptance Criteria: