mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
LibGUI: Add GModelSelection to help implementing multiple-select views
Each GAbstractView now has a GModelSelection backed by a simple HashTable<GModelIndex>. When the selection changes somehow, the view gets notified via the notify_selection_changed() callback. In the future it will probably make sense to move to using some kind of ranges as the internal representation instead.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
GAbstractView::GAbstractView(GWidget* parent)
|
||||
: GScrollableWidget(parent)
|
||||
, m_selection(*this)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -96,3 +97,8 @@ void GAbstractView::activate(const GModelIndex& index)
|
||||
if (on_activation)
|
||||
on_activation(index);
|
||||
}
|
||||
|
||||
void GAbstractView::notify_selection_changed(Badge<GModelSelection>)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user