From a9a1c385fb31b4a64b302e7d156f61e9d0c6a05d Mon Sep 17 00:00:00 2001 From: Alexandru Date: Sat, 18 May 2019 20:35:16 +0100 Subject: [PATCH] Allow &[&ImString] as well as &[&ImStr] in combo and list_box --- src/lib.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 561b4a7..578629a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1256,14 +1256,14 @@ impl<'ui> Ui<'ui> { // Widgets: Combos impl<'ui> Ui<'ui> { - pub fn combo<'p>( + pub fn combo<'p, StringType: AsRef + ?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 + ?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(),