X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgui-environment.cpp;h=c2e52726d5d516c589d45bcb6fb65d6375512690;hb=3bb58c2b45af12c0f9c9eac648e67ac6fa90e104;hp=d29750ffa88e3a0c5be0d3bb92baa9124f7d5752;hpb=5d5dfa18d1acb2c3fa05df26b285ff430c9aff89;p=guile-irrlicht.git diff --git a/src/gui-environment.cpp b/src/gui-environment.cpp index d29750f..c2e5272 100644 --- a/src/gui-environment.cpp +++ b/src/gui-environment.cpp @@ -78,6 +78,33 @@ IGUIEnvironment_addEditBox (SCM gui_environment, return scm_from_irr_pointer ("", (void*) editbox); } +template +SCM +IGUIEnvironment_addFileOpenDialog (SCM gui_environment, + SCM title, + SCM modal, + SCM parent, + SCM id, + SCM restore_cwd, + SCM start_dir) +{ + gui::IGUIEnvironment* guienv = (gui::IGUIEnvironment*)scm_to_irr_pointer (gui_environment); + wchar_t* wtitle = (wchar_t*) scm_to_utf32_string (title); + io::path::char_type* cstartDir = scm_to_utf8_string (start_dir); + + gui::IGUIFileOpenDialog* dialog = + guienv->addFileOpenDialog (wtitle, + scm_to_bool (modal), + (TParent)scm_to_irr_pointer (parent), + scm_to_int32 (id), + scm_to_bool (restore_cwd), + cstartDir); + + free (wtitle); + free (cstartDir); + return scm_from_irr_pointer ("", (void*) dialog); +} + template SCM IGUIEnvironment_addImage (SCM gui_environment, @@ -228,6 +255,8 @@ init_gui_environment (void) IGUIEnvironment_addButton); DEFINE_GSUBR ("IGUIEnvironment_addEditBox_IGUIElement", 6, 0, 0, IGUIEnvironment_addEditBox); + DEFINE_GSUBR ("IGUIEnvironment_addFileOpenDialog_IGUIElement", 7, 0, 0, + IGUIEnvironment_addFileOpenDialog); DEFINE_GSUBR ("IGUIEnvironment_addImage_IGUIElement", 7, 0, 0, IGUIEnvironment_addImage); DEFINE_GSUBR ("IGUIEnvironment_addListBox_IGUIElement", 5, 0, 0, @@ -236,6 +265,8 @@ init_gui_environment (void) IGUIEnvironment_addScrollBar); DEFINE_GSUBR ("IGUIEnvironment_addStaticText_IGUIElement", 8, 0, 0, IGUIEnvironment_addStaticText); + DEFINE_GSUBR ("IGUIEnvironment_addStaticText_IGUIWindow", 8, 0, 0, + IGUIEnvironment_addStaticText); DEFINE_GSUBR ("IGUIEnvironment_addWindow_IGUIElement", 6, 0, 0, IGUIEnvironment_addWindow); DEFINE_GSUBR ("IGUIEnvironment_drawAll", 1, 0, 0, IGUIEnvironment_drawAll);