]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/gui.scm
<gui-file-open-dialog> add-file-open-dialog! get-file-name
[guile-irrlicht.git] / irrlicht / gui.scm
index 4708d371a3c706f0ca65f439e9d33c809830235f..3430e4d3a3cfa180414f10943f3eca950271f0a2 100644 (file)
            (editbox (addEditBox gui-environment text rectangle border parent id)))
       (mem-wrapped editbox))))
 
+(define-method (add-file-open-dialog! (gui-environment <gui-environment>) . rest)
+  (let-keywords rest #f
+        ((title "")
+         (modal #t)
+         (parent (make <gui-element>))
+         (id -1)
+         (restore-cwd #f)
+         (start-dir ""))
+    (let* ((addFileOpenDialog (get-irrlicht-proc "addFileOpenDialog" gui-environment parent))
+           (dialog (addFileOpenDialog gui-environment title modal parent id restore-cwd start-dir)))
+      (mem-wrapped dialog))))
+
 (define-method (add-image! (gui-environment <gui-environment>) image pos . rest)
   (let-keywords rest #f
         ((use-alpha-channel #t)
   (let ((getSkin (get-irrlicht-proc "getSkin" gui-environment)))
     (getSkin gui-environment)))
 
-(export <gui-environment> add-button! add-editbox! add-image! add-listbox! add-scrollbar!
-        add-static-text! add-window! draw-all get-built-in-font get-font get-skin)
+(export <gui-environment> add-button! add-editbox! add-file-open-dialog! add-image! add-listbox!
+        add-scrollbar! add-static-text! add-window! draw-all get-built-in-font get-font get-skin)
 
 
 ;; IGUIStaticText
   (irr-class #:init-value "IGUIWindow"))
 
 (export <gui-window>)
+
+
+;; IGUIFileOpenDialog
+(define-class <gui-file-open-dialog> (<gui-element>)
+  (irr-class #:init-value "IGUIFileOpenDialog"))
+
+(define-method (get-file-name (dialog <gui-file-open-dialog>))
+  (let ((getFileName (get-irrlicht-proc "getFileName" dialog)))
+    (getFileName dialog)))
+
+(export <gui-file-open-dialog> get-file-name)