4a8ba7e7a9cc3bfe7ce3ec600236e31a6583c15f
[cl-gtk2.git] / gtk / gtk.menu.lisp
1 (in-package :gtk)
2
3 (defcfun (menu-reorder-child "gtk_menu_reorder_child") :void
4   (menu g-object)
5   (child g-object)
6   (position :int))
7
8 (export 'menu-reorder-child)
9
10 (defcfun (menu-attach "gtk_menu_attach") :void
11   (menu g-object)
12   (child g-object)
13   (left-attach :uint)
14   (right-attach :uint)
15   (top-attach :uint)
16   (bottom-attach :uint))
17
18 (export 'menu-attach)
19
20 (defcfun gtk-menu-popup :void
21   (menu g-object)
22   (parent-menu-shell g-object)
23   (parent-menu-item g-object)
24   (menu-position-func :pointer)
25   (data :pointer)
26   (button :uint)
27   (activate-time :uint32))
28
29 (defcallback gtk-menu-position-func-callback :void
30     ((menu g-object) (x :pointer) (y :pointer) (push-in :pointer) (data :pointer))
31   (restart-case
32       (multiple-value-bind (rx ry rpush-in) (funcall (get-stable-pointer-value data)
33                                                      menu)
34         (setf (mem-ref x :int) rx
35               (mem-ref y :int) ry
36               (mem-ref push-in :boolean) rpush-in))
37     (return-zero () (setf (mem-ref x :int) 0
38                           (mem-ref y :int) 0
39                           (mem-ref push-in :boolean) nil))))
40
41 (defun menu-popup (menu &key parent-menu-shell parent-menu-item position-func (button 0) (activate-time (current-event-time)))
42   (if position-func
43       (with-stable-pointer (ptr position-func)
44         (gtk-menu-popup menu parent-menu-shell parent-menu-item
45                         (callback gtk-menu-position-func-callback)
46                         ptr button activate-time))
47       (gtk-menu-popup menu parent-menu-shell parent-menu-item (callback gtk-menu-position-func-callback) (null-pointer) (null-pointer) activate-time)))
48
49 (export 'menu-popup)
50
51 (defcfun (menu-popdown "gtk_menu_popdown") :void
52   (menu g-object))
53
54 (export 'menu-popdown)
55
56 (defcfun (menu-reposition "gtk_menu_reposition") :void
57   (menu g-object))
58
59 (export 'menu-reposition)
60
61 ; TODO: gtk_menu_attach_to_widget
62
63 ; TODO: gtk_menu_detach
64
65 ; TODO: gtk_menu_get_attach_widget
66
67 ; TODO: gtk_menu_get_for_attach_widget
68
69 (defcfun (menu-shell-append "gtk_menu_shell_append") :void
70   (menu-shell g-object)
71   (child g-object))
72
73 (export 'menu-shell-append)
74
75 (defcfun (menu-shell-prepend "gtk_menu_shell_prepend") :void
76   (menu-shell g-object)
77   (child g-object))
78
79 (export 'menu-shell-prepend)
80
81 (defcfun (menu-shell-insert "gtk_menu_shell_insert") :void
82   (menu-shell g-object)
83   (child g-object)
84   (position :int))
85
86 (export 'menu-shell-insert)
87
88 (defcfun (menu-shell-deactivate "gtk_menu_shell_deactivate") :void
89   (menu-shell g-object))
90
91 (export 'menu-shell-deactivate)
92
93 (defcfun (menu-shell-select-item "gtk_menu_shell_select_item") :void
94   (menu-shell g-object)
95   (menu-item g-object))
96
97 (export 'menu-shell-select-item)
98
99 (defcfun gtk-menu-shell-select-first :void
100   (menu-shell g-object)
101   (search-sensitive :boolean))
102
103 (defun menu-shell-select-first (menu-shell &optional (search-sensitive t))
104   (gtk-menu-shell-select-first menu-shell search-sensitive))
105
106 (export 'menu-shell-select-first)
107
108 (defcfun (menu-shell-deselect "gtk_menu_shell_deselect") :void
109   (menu-shell g-object))
110
111 (export 'menu-shell-deselect)
112
113 (defcfun gtk-menu-shell-activate-item :void
114   (menu-shell g-object)
115   (menu-item g-object)
116   (force-deactivate :boolean))
117
118 (defun menu-shell-activate-item (menu-shell menu-item &optional force-deactivate)
119   (gtk-menu-shell-activate-item menu-shell menu-item force-deactivate))
120
121 (export 'menu-shell-activate-item)
122
123 (defcfun (menu-shell-cancel "gtk_menu_shell_cancel") :void
124   (menu-shell g-object))
125
126 (export 'menu-shell-cancel)
127
128 ; TODO: GtkToolShell
129
130 (defcfun (toolbar-insert "gtk_toolbar_insert") :void
131   (toolbar g-object)
132   (item g-object)
133   (pos :int))
134
135 (export 'toolbar-insert)
136
137 (defcfun (toolbar-item-index "gtk_toolbar_get_item_index") :int
138   (toolbar g-object)
139   (item g-object))
140
141 (export 'toolbar-item-index)
142
143 (defcfun (toolbar-items-count "gtk_toolbar_get_n_items") :int
144   (toolbar g-object))
145
146 (export 'toolbar-items-count)
147
148 (defcfun (toolbar-nth-item "gtk_toolbar_get_nth_item") g-object
149   (toolbar g-object)
150   (n :int))
151
152 (export 'toolbar-nth-item)
153
154 (defcfun (toolbar-get-drop-index "gtk_toolbar_get_drop_index") :int
155   (toolbar g-object)
156   (x :int)
157   (y :int))
158
159 (export 'toolbar-get-drop-index)
160
161 (defcfun (toolbar-set-drop-highlight-item "gtk_toolbar_set_drop_highlight_item") :void
162   (toolbar g-object)
163   (tool-item g-object)
164   (index :int))
165
166 (export 'toolbar-set-drop-highlight-item)
167
168 (defcfun (toolbar-unset-style "gtk_toolbar_unset_style") :void
169   (toolbar g-object))
170
171 (export 'toolbar-unset-style)
172
173 (defcfun (tool-item-retrieve-proxy-menu-item "gtk_tool_item_retrieve_proxy_menu_item") g-object
174   (tool-item g-object))
175
176 (export 'tool-item-retrieve-proxy-menu-item)
177
178 ; TODO: gtk_tool_item_get_proxy_menu_item
179
180 ; TODO: gtk_tool_item_set_proxy_menu_item
181
182 (defcfun (tool-item-rebuild-menu "gtk_tool_item_rebuild_menu") :void
183   (tool-item g-object))
184
185 (export 'tool-item-rebuild-menu)
186