GComboBox: Include the selected index with the on_change notification

This will be useful for clients that need to fetch additional data from
the model on selection change.
This commit is contained in:
Andreas Kling 2019-08-05 18:42:51 +02:00
parent ffff150435
commit 6311a617be
Notes: sideshowbarker 2024-07-19 12:52:06 +09:00
3 changed files with 5 additions and 5 deletions

View File

@ -37,7 +37,7 @@ public:
combo->set_only_allow_values_from_model(true);
combo->set_model(adopt(*new BoolValuesModel));
combo->on_return_pressed = [this] { commit(); };
combo->on_change = [this](auto&) { commit(); };
combo->on_change = [this](auto&, auto&) { commit(); };
return combo;
}
virtual GVariant value() const override { return static_cast<const GComboBox*>(widget())->text() == "true"; }

View File

@ -12,7 +12,7 @@ GComboBox::GComboBox(GWidget* parent)
m_editor = new GTextEditor(GTextEditor::Type::SingleLine, this);
m_editor->on_change = [this] {
if (on_change)
on_change(m_editor->text());
on_change(m_editor->text(), model()->selected_index());
};
m_editor->on_return_pressed = [this] {
if (on_return_pressed)
@ -43,9 +43,9 @@ GComboBox::GComboBox(GWidget* parent)
m_editor->set_text(new_value);
m_editor->select_all();
close();
deferred_invoke([this](auto&) {
deferred_invoke([this, index](auto&) {
if (on_change)
on_change(m_editor->text());
on_change(m_editor->text(), index);
});
};
}

View File

@ -29,7 +29,7 @@ public:
int model_column() const { return m_list_view->model_column(); }
void set_model_column(int column) { m_list_view->set_model_column(column); }
Function<void(const String&)> on_change;
Function<void(const String&, const GModelIndex&)> on_change;
Function<void()> on_return_pressed;
protected: