using Gtk 4.0; using Adw 1; template $MusicusPerformerRoleSelectorPopover: Gtk.Popover { styles [ "selector" ] Gtk.Stack stack { transition-type: slide_left_right; Adw.ToolbarView role_view { [top] Gtk.SearchEntry role_search_entry { placeholder-text: _("Search roles…"); margin-start: 8; margin-end: 8; margin-top: 8; margin-bottom: 6; search-changed => $role_search_changed() swapped; activate => $role_activate() swapped; stop-search => $stop_search() swapped; } Gtk.ScrolledWindow role_scrolled_window { height-request: 200; Gtk.ListBox role_list { styles [ "selector-list" ] selection-mode: none; activate-on-single-click: true; } } } Adw.ToolbarView instrument_view { [top] Gtk.Box { margin-start: 8; margin-end: 8; margin-top: 8; margin-bottom: 6; orientation: vertical; Gtk.CenterBox { [start] Gtk.Button { styles [ "flat" ] icon-name: "go-previous-symbolic"; clicked => $back_button_clicked() swapped; } [center] Gtk.Label { styles [ "heading" ] label: _("Performer"); ellipsize: end; margin-start: 6; } } Gtk.SearchEntry instrument_search_entry { placeholder-text: _("Search instruments…"); margin-top: 6; search-changed => $instrument_search_changed() swapped; activate => $instrument_activate() swapped; stop-search => $stop_search() swapped; } } Gtk.ScrolledWindow instrument_scrolled_window { height-request: 200; Gtk.ListBox instrument_list { styles [ "selector-list" ] selection-mode: none; activate-on-single-click: true; } } } } }