1 // This file was generated by gir (https://github.com/gtk-rs/gir)
2 // from gir-files (https://github.com/gtk-rs/gir-files)
3 // DO NOT EDIT
4 
5 use gio_sys;
6 use glib::object::IsA;
7 use glib::translate::*;
8 use std::fmt;
9 use Action;
10 
11 glib_wrapper! {
12     pub struct ActionMap(Interface<gio_sys::GActionMap>);
13 
14     match fn {
15         get_type => || gio_sys::g_action_map_get_type(),
16     }
17 }
18 
19 pub const NONE_ACTION_MAP: Option<&ActionMap> = None;
20 
21 pub trait ActionMapExt: 'static {
add_action<P: IsA<Action>>(&self, action: &P)22     fn add_action<P: IsA<Action>>(&self, action: &P);
23 
24     //fn add_action_entries(&self, entries: /*Ignored*/&[&ActionEntry], user_data: /*Unimplemented*/Option<Fundamental: Pointer>);
25 
lookup_action(&self, action_name: &str) -> Option<Action>26     fn lookup_action(&self, action_name: &str) -> Option<Action>;
27 
remove_action(&self, action_name: &str)28     fn remove_action(&self, action_name: &str);
29 }
30 
31 impl<O: IsA<ActionMap>> ActionMapExt for O {
add_action<P: IsA<Action>>(&self, action: &P)32     fn add_action<P: IsA<Action>>(&self, action: &P) {
33         unsafe {
34             gio_sys::g_action_map_add_action(
35                 self.as_ref().to_glib_none().0,
36                 action.as_ref().to_glib_none().0,
37             );
38         }
39     }
40 
41     //fn add_action_entries(&self, entries: /*Ignored*/&[&ActionEntry], user_data: /*Unimplemented*/Option<Fundamental: Pointer>) {
42     //    unsafe { TODO: call gio_sys:g_action_map_add_action_entries() }
43     //}
44 
lookup_action(&self, action_name: &str) -> Option<Action>45     fn lookup_action(&self, action_name: &str) -> Option<Action> {
46         unsafe {
47             from_glib_none(gio_sys::g_action_map_lookup_action(
48                 self.as_ref().to_glib_none().0,
49                 action_name.to_glib_none().0,
50             ))
51         }
52     }
53 
remove_action(&self, action_name: &str)54     fn remove_action(&self, action_name: &str) {
55         unsafe {
56             gio_sys::g_action_map_remove_action(
57                 self.as_ref().to_glib_none().0,
58                 action_name.to_glib_none().0,
59             );
60         }
61     }
62 }
63 
64 impl fmt::Display for ActionMap {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result65     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
66         write!(f, "ActionMap")
67     }
68 }
69