+(defcallback %accel-map-foreach-func
+ (nil
+ (callback-id unsigned-int) (accel-path (copy-of string))
+ (key unsigned-int) (modifiers gdk:modifier-type) (changed boolean))
+ (invoke-callback callback-id nil accel-path key modifiers changed))
+
+(defbinding %accel-map-foreach (callback-id) nil
+ (callback-id unsigned-int)
+ (%accel-map-foreach-func callback))
+
+(defbinding %accel-map-foreach-unfiltered (callback-id) nil
+ (callback-id unsigned-int)
+ (%accel-map-foreach-func callback))
+
+(defun accel-map-foreach (function &optional (filter-p t))
+ (with-callback-function (id function)
+ (if filter-p
+ (%accel-map-foreach id)
+ (%accel-map-foreach-unfiltered id))))
+
+(defbinding accel-map-add-filter () nil
+ (filter string))
+