Merge pull request #222 from AlexEne/master

Allow &[&ImString]  as well as &[&ImStr] in combo and list_box
This commit is contained in:
Joonas Javanainen 2019-06-03 21:07:48 +03:00 committed by GitHub
commit 762cf22c32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1256,14 +1256,14 @@ impl<'ui> Ui<'ui> {
// Widgets: Combos
impl<'ui> Ui<'ui> {
pub fn combo<'p>(
pub fn combo<'p, StringType: AsRef<ImStr> + ?Sized>(
&self,
label: &'p ImStr,
current_item: &mut i32,
items: &'p [&'p ImStr],
items: &'p [&'p StringType],
height_in_items: i32,
) -> bool {
let items_inner: Vec<*const c_char> = items.into_iter().map(|item| item.as_ptr()).collect();
let items_inner: Vec<*const c_char> = items.into_iter().map(|item| item.as_ref().as_ptr()).collect();
unsafe {
sys::igCombo(
label.as_ptr(),
@ -1278,14 +1278,14 @@ impl<'ui> Ui<'ui> {
// Widgets: ListBox
impl<'ui> Ui<'ui> {
pub fn list_box<'p>(
pub fn list_box<'p, StringType: AsRef<ImStr> + ?Sized>(
&self,
label: &'p ImStr,
current_item: &mut i32,
items: &'p [&'p ImStr],
items: &'p [&'p StringType],
height_in_items: i32,
) -> bool {
let items_inner: Vec<*const c_char> = items.into_iter().map(|item| item.as_ptr()).collect();
let items_inner: Vec<*const c_char> = items.into_iter().map(|item| item.as_ref().as_ptr()).collect();
unsafe {
sys::igListBoxStr_arr(
label.as_ptr(),