From 58e59810acbc996ac768adee64ea0d1ee136c342 Mon Sep 17 00:00:00 2001 From: orhanbalci Date: Fri, 27 May 2016 22:26:29 +0300 Subject: [PATCH] test file reverted callback combo interface removed --- examples/hello_world.rs | 9 --------- src/lib.rs | 15 +-------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/examples/hello_world.rs b/examples/hello_world.rs index 8c7e9a6..92396c5 100644 --- a/examples/hello_world.rs +++ b/examples/hello_world.rs @@ -28,15 +28,6 @@ fn hello_world<'a>(ui: &Ui<'a>) { .build(|| { ui.text(im_str!("Hello world!")); ui.text(im_str!("This...is...imgui-rs!")); - ui.combo3(im_str!("Sample combo"), &mut 1, |idx|{ - println!("{} index closure", idx); - match idx { - 0 => "zero\0", - 1 => "one\0", - 2 => "two\0", - _ => "three\0", - } - }, 3,2); ui.separator(); let mouse_pos = ui.imgui().mouse_pos(); ui.text(im_str!("Mouse Position: ({:.1},{:.1})", mouse_pos.0, mouse_pos.1)); diff --git a/src/lib.rs b/src/lib.rs index 30d7f23..ce97bfe 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -497,13 +497,6 @@ impl<'ui> Ui<'ui> { pub fn menu_item<'p>(&self, label: ImStr<'p>) -> MenuItem<'ui, 'p> { MenuItem::new(label) } } - - extern "C" fn combo_item_getter(closure : *mut c_void, idx : c_int, out_text : *mut *const c_char)->bool{ - let inner_closure : &mut &mut FnMut(i32)->&'static str = unsafe { mem::transmute(closure)}; - unsafe{*out_text = inner_closure(idx).as_bytes().as_ptr() as *const c_char;} - //unsafe{*out_text = "orhan\0".as_bytes().as_ptr() as *const c_char;} - true - } //Widgets: Combos impl<'ui> Ui<'ui> { pub fn combo<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec>, items_count : i32, height_in_items : i32) -> bool{ @@ -518,14 +511,8 @@ impl<'ui> Ui<'ui> { imgui_sys::igCombo2(label.as_ptr(), current_item, items.as_ptr(), height_in_items) } } - - pub fn combo3<'p, F>(&self, label : ImStr<'p>, current_item:&mut i32, mut items_getter : F, items_count : i32, height_in_items : i32) -> bool where F : FnMut(i32)->&'static str{ - unsafe{ - let callback : &mut FnMut(i32)->&'static str = &mut items_getter; - imgui_sys::igCombo3(label.as_ptr(), current_item, combo_item_getter, callback as *mut _ as *mut c_void , items_count, height_in_items) - } - } } + //Widgets: ListBox impl<'ui> Ui<'ui> { pub fn list_box<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec>, items_count : i32, height_in_items : i32)-> bool{