+template <typename TParent>
+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 ("<gui-file-open-dialog>", (void*) dialog);
+}
+