Initial commit
[cl-gtk2.git] / gtk / gtk.dialog.lisp
1 (in-package :gtk)
2
3 (define-g-enum "GtkResponseType" response-type ()
4   (:none -1)
5   (:reject -2)
6   (:accept -3)
7   (:delete-event -4)
8   (:ok -5)
9   (:cancel -6)
10   (:close -7)
11   (:yes -8)
12   (:no -9)
13   (:apply -10)
14   (:help -11))
15
16 (defcfun (dialog-run "gtk_dialog_run") response-type
17   (dialog (g-object dialog)))
18
19 (export 'dialog-run)
20
21 (defcfun (dialog-respose "gtk_dialog_response") :void
22   (dialog (g-object dialog))
23   (response response-type))
24
25 (export 'dialog-response)
26
27 (defcfun (dialog-add-button "gtk_dialog_add_button") (g-object widget)
28   (dialog (g-object dialog))
29   (button-text :string)
30   (response response-type))
31
32 (export 'dialog-add-button)
33
34 (defcfun (dialog-add-action-widget "gtk_dialog_add_action_widget") :void
35   (dialog (g-object dialog))
36   (child (g-object widget))
37   (response response-type))
38
39 (export 'dialog-add-action-widget)
40
41 (defcfun (dialog-set-default-response "gtk_dialog_set_default_response") :void
42   (dialog (g-object dialog))
43   (response response-type))
44
45 (defun (setf dialog-default-response) (response dialog)
46   (dialog-set-default-response dialog response)
47   response)
48
49 (export 'dialog-default-response)
50
51 (defcfun (dialog-set-response-sensitive "gtk_dialog_set_response_sensitive") :void
52   (dialog (g-object dialog))
53   (response response-type)
54   (setting :boolean))
55
56 (defcfun (dialog-response-for-widget "gtk_dialog_get_response_for_widget") :int
57   (dialog (g-object dialog))
58   (widget (g-object widget)))
59
60 (export 'dialog-response-for-widget)
61
62 (defcfun (dialog-action-area "gtk_dialog_get_action_area") (g-object widget)
63   (dialog (g-object dialog)))
64
65 (export 'dialog-action-area)
66
67 (defcfun (dialog-content-area "gtk_dialog_get_content_area") (g-object widget)
68   (dialog (g-object dialog)))
69
70 (export 'dialog-content-area)
71
72 (defcfun (dialog-alternative-button-order-on-screen "gtk_alternative_dialog_button_order") :boolean
73   (screen (g-object screen)))
74
75 (export 'dialog-alternative-button-order-on-screen)
76
77 (defcfun (dialog-set-alternative-button-order-from-array "gtk_dialog_set_alternative_button_order_from_array") :void
78   (dialog (g-object dialog))
79   (n-params :int)
80   (new-order (:pointer response-type)))
81
82 (defun (setf dialog-alternative-button-order) (response-list dialog)
83   (with-foreign-object (new-order 'response-type (length response-list))
84     (loop
85        for i from 0
86        for response in response-list
87        do (setf (mem-aref new-order 'response-type i) response))
88     (dialog-set-alternative-button-order-from-array dialog (length response-list) new-order))
89   response-list)
90
91 (export 'dialog-alternative-button-order)
92