- (let ((addButton (get-irrlicht-proc "addButton" gui-environment parent)))
- (addButton gui-environment rectangle parent id text tooltiptext))))
+ (let* ((addButton (get-irrlicht-proc "addButton" gui-environment parent))
+ (button (addButton gui-environment rectangle parent id text tooltiptext)))
+ (mem-wrapped button))))
+
+(define-method (add-editbox! (gui-environment <gui-environment>) text rectangle . rest)
+ (let-keywords rest #f
+ ((border #t)
+ (parent (make <gui-element>))
+ (id -1))
+ (let* ((addEditBox (get-irrlicht-proc "addEditBox" gui-environment parent))
+ (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))))