aui-framework / aui-framework/aui
Adapt core UI components to declarative contracts
- Dominant language
- C++
- Stars
- 598
- Forks
- 44
- Avg merge
- 17h 56m
- Merged PRs (30d)
- 3
Description
#465
- [ ] ADropdownList
- [x] ASlider
- [ ] AGroupBox
- [x] AScrollArea
- [x] AScrollAreaViewport
- [x] AScrollBar
- [ ] AListView
- [ ] Flyout button
- https://learn.microsoft.com/en-us/windows/win32/uxguide/ctrl-list-boxes
- https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/
- https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/buttons#create-a-drop-down-button
- https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/listview-and-gridview
- https://learn.microsoft.com/en-us/windows/apps/design/controls/list-details
- [x] ASpacerFixed
- [x] ASpacerExpanding
- [ ] AProgressBar/ACircleProgressBar/ASpinnerV2 (should appear on the same page in docs)
- [ ] ATextField
- [ ] ATextArea
- [ ] ANumberPicker/ADoubleNumberPicker (should appear on the same page in docs)
- [ ] ADirChooserView/AFileChooserView (should appear on the same page in docs)
Also, not sure were should I put these thoughts, maybe put it here:
- TriStateCheckBox is required (by https://github.com/Alex2772/hackers-mc-launcher)
- Maybe reference implementation of ATreeView based of `AUI_DECLARATIVE_FOR` is needed (can be stolen from https://github.com/Alex2772/hackers-mc-launcher)
- In general, my experience was good, especially making reactive expressions with `AUI_REACT`. This really allows make view models with complex relationships between values, without bothering about triggering relevant UI updates. Although I still need to `Button { ...} AUI_LET { connect(AUI_REACT(enable condition, AUI_SLOT(it)::setEnabled)); }` and similar things, that was not described by declarative contract. Most common cases are:
- setEnabled
- setVisibility
- setCustomStyle (https://github.com/aui-framework/aui/issues/572#issuecomment-3427172438)
- setPosition/setSize
Contributor guide
Assessment
This issue has not been assessed yet.