Thanks for asking! And sorry for the late reply, I was quite busy.
The problem with Adwaita for Swift is that, as it is much more declarative than libadwaita's C API, a simple auto generation process is not sensible for all the widgets (even though it is for most parts). That's why the availability of widgets is not complete, and it grows whenever a user requests the inclusion of a new widget.
So, I added support for GtkDropDown on the main branch (docs).
It can be used in the following way:
enum WindowName: String, CaseIterable, CustomStringConvertible, Identifiable {
case demo = "Demo"
case alternative = "Alternative"
var id: Self { self }
var description: String { rawValue }
}
struct Demo: View {
@State private var title: WindowName = .demo
var view: Body {
DropDown(selection: $title, values: WindowName.allCases)
}
}
There's also the similar AdwComboRow.
Feel free to request the addition of other widgets or unimplemented features of widgets!