1use glib::object::{Cast, ObjectType};
2use glib::translate::*;
3use glib::Value;
4use gobject_sys;
5use gtk_sys;
6use std::ptr;
7use RadioToolButton;
8use ToolItem;
9
10impl RadioToolButton {
11 pub fn new() -> RadioToolButton {
12 assert_initialized_main_thread!();
13 unsafe {
14 ToolItem::from_glib_none(gtk_sys::gtk_radio_tool_button_new(ptr::null_mut()))
15 .unsafe_cast()
16 }
17 }
18
19 pub fn new_from_stock(stock_id: &str) -> RadioToolButton {
20 assert_initialized_main_thread!();
21 unsafe {
22 ToolItem::from_glib_none(gtk_sys::gtk_radio_tool_button_new_from_stock(
23 ptr::null_mut(),
24 stock_id.to_glib_none().0,
25 ))
26 .unsafe_cast()
27 }
28 }
29
30 pub fn join_group(&self, group: Option<&RadioToolButton>) {
31 unsafe {
32 gobject_sys::g_object_set_property(
33 self.as_ptr() as *mut _,
34 "group".to_glib_none().0,
35 Value::from(group).to_glib_none().0,
36 );
37 }
38 }
39}