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