- Invoke DetachAllChildren from ~ComponentBase
- Define Focused using Active
- Compact TakeFocus loop code
- const-correctness for Parent, Active and Focused
From CppCoreGuidelines:
Rule of Zero: C.20: If you can avoid defining default operations, do.
C.52: Use inheriting constructors to import constructors into a derived class that does not need further explicit initialization.
DRY forward and using declarations.
Miscellaneous:
Fix format.sh to output examples with normalised paths in sorted order.
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
Allows components to remove a child or access to children in general.
Co-authored-by: Felix Heitmann <fheitmann@se-gpu-03.intern.plath.de>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
When switching from raw pointers toward shared_ptr, the destructor
wasn't updated correctly.
This patch:
- Fixes the issue.
- Add two regression tests.
- Use address sanitizer for the tests.
This fixes: https://github.com/ArthurSonzogni/FTXUI/issues/115
This allows developers to set child children component must be the
currently active/focused one.
This can be used to "control" where the focus is, without user
interactions.