X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgui-listbox.cpp;fp=src%2Fgui-listbox.cpp;h=599eca70a0f29408cfc3712d97df0d765be16130;hb=f800b6da773b92fad5ebf3db07b8efa2e4e1b46f;hp=1c81998d4070b948c0cabf47088a8e9ca7fc04f8;hpb=3bfc63a85508e3d6b6b5879a980c1798225a6d89;p=guile-irrlicht.git diff --git a/src/gui-listbox.cpp b/src/gui-listbox.cpp index 1c81998..599eca7 100644 --- a/src/gui-listbox.cpp +++ b/src/gui-listbox.cpp @@ -23,6 +23,8 @@ #include #include "gui-listbox.h" +#include "gsubr.h" +#include "wchar.h" #include "wrapped.h" extern "C" { @@ -31,10 +33,30 @@ extern "C" { init_gui_listbox (void) { init_gui_listbox_type (); + DEFINE_GSUBR ("add-listbox-item!", 2, 1, 0, irr_gui_IGUIListBox_addItem); } DEFINE_WRAPPED_TYPE (irr::gui::IGUIListBox*, "gui-listbox", init_gui_listbox_type, gui_listbox_p, wrap_gui_listbox, unwrap_gui_listbox); + SCM + irr_gui_IGUIListBox_addItem (SCM wrapped_gui_listbox, + SCM text, + SCM icon) + { + irr::gui::IGUIListBox* listbox = unwrap_gui_listbox (wrapped_gui_listbox); + irr::u32 item_id; + if (icon == SCM_UNDEFINED) + { + item_id = listbox->addItem (scm_to_wide_char_string (text)); + } + else + { + item_id = listbox->addItem (scm_to_wide_char_string (text), + scm_to_int32 (icon)); + } + return scm_from_uint32 (item_id); + } + }