gtk/
radio_tool_button.rs

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}