From 5dd0079880a7b7a07007e17ebb07edcf5409e465 Mon Sep 17 00:00:00 2001 From: Nick Palmer Date: Thu, 31 Aug 2017 23:05:04 +0100 Subject: [PATCH] Added functions in lib for radios --- imgui-examples/examples/test_window_impl.rs | 8 ++++++++ src/lib.rs | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/imgui-examples/examples/test_window_impl.rs b/imgui-examples/examples/test_window_impl.rs index dda8c5e..08d3873 100644 --- a/imgui-examples/examples/test_window_impl.rs +++ b/imgui-examples/examples/test_window_impl.rs @@ -42,6 +42,7 @@ struct State { selected_fish: Option, auto_resize_state: AutoResizeState, file_menu: FileMenuState, + radio_button: i32, } impl Default for State { @@ -85,6 +86,7 @@ impl Default for State { selected_fish: None, auto_resize_state: Default::default(), file_menu: Default::default(), + radio_button: 0, } } } @@ -320,6 +322,12 @@ fn show_test_window<'a>(ui: &Ui<'a>, state: &mut State, opened: &mut bool) { .build(); }); + ui.radio_button(im_str!("radio a"), &mut state.radio_button, 0); + ui.same_line(0.0); + ui.radio_button(im_str!("radio b"), &mut state.radio_button, 1); + ui.same_line(0.0); + ui.radio_button(im_str!("radio c"), &mut state.radio_button, 2); + ui.separator(); ui.label_text(im_str!("label"), im_str!("Value")); ui.combo(im_str!("combo"), diff --git a/src/lib.rs b/src/lib.rs index 1a63ecf..4f866ab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -714,6 +714,23 @@ impl<'ui> Ui<'ui> { } } +// Widgets: Radio +impl<'ui> Ui<'ui> { + pub fn radio_button<'p>(&self, + label: &'p ImStr, + value: &'p mut i32, + wanted: i32) { + unsafe { + imgui_sys::igRadioButton(label.as_ptr(), value, wanted); + } + } + pub fn radio_button_bool<'p>(&self, label: &'p ImStr, value: bool) { + unsafe { + imgui_sys::igRadioButtonBool(label.as_ptr(), value); + } + } +} + impl<'ui> Ui<'ui> { pub fn plot_lines<'p>(&self, label: &'p ImStr, values: &'p [f32]) -> PlotLines<'ui, 'p> { PlotLines::new(self, label, values)