An editable combo-box replaces the label with an
input field. Typing text
in the input field uses the combo-box's items to auto-complete the
typed text. It's also possible to type in something different, that
doesn't match any of the combo-box items. Running
combobox.C
with
the -e
option creates an editable combo-box instead
of a standard combo-box.
x::w::new_editable_comboboxlayoutmanager nclm([] (ONLY IN_THREAD, const x::w::editable_combobox_selection_changed_info_t &info) { // ... }); auto container=factory->create_focusable_container([] (const auto &container) { }, nclm); // ... x::w::editable_comboboxlayoutmanager lm=container->get_layoutmanager(); std::string s=lm->get();
Passing an x::w::new_editable_comboboxlayoutmanager
instead of a
x::w::new_standard_comboboxlayoutmanager
to create_focusable_container
() constructs an
x::w::focusable_container
whose layout manager
is an
x::w::editable_comboboxlayoutmanager
.
x::w::editable_comboboxlayoutmanager
is
a subclass of a
x::w::new_standard_comboboxlayoutmanager
and inherits all of its methods.
Additionally, it inherits several methods from the underlying
x::w::input_field
,
and its associated x::w::input_lock
(which is held, internally, by the
x::w::editable_comboboxlayoutmanager
),
like get
() and
set
();