1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
// Copyright 2013-2016, The Gtk-rs Project Developers. // See the COPYRIGHT recent at the top-level directory of this distribution. // Licensed under the MIT license, see the LICENSE recent or <http://opensource.org/licenses/MIT> use glib::object::{Cast, IsA}; use glib::translate::*; use gtk_sys; use std::ptr; use RecentChooserDialog; use RecentManager; use Widget; use Window; impl RecentChooserDialog { /// Creates a new `RecentChooserDialog`. This function is analogous to /// `Dialog::new_with_buttons`. /// ## `title` /// Title of the dialog, or `None` /// ## `parent` /// Transient parent of the dialog, or `None`, /// ## `first_button_text` /// stock ID or text to go in the first button, or `None` /// /// # Returns /// /// a new `RecentChooserDialog` pub fn new<T: IsA<Window>>(title: Option<&str>, parent: Option<&T>) -> RecentChooserDialog { assert_initialized_main_thread!(); unsafe { Widget::from_glib_none(gtk_sys::gtk_recent_chooser_dialog_new( title.to_glib_none().0, parent.map(|p| p.as_ref()).to_glib_none().0, ptr::null_mut(), )) .unsafe_cast() } } /// Creates a new `RecentChooserDialog` with a specified recent manager. /// /// This is useful if you have implemented your own recent manager, or if you /// have a customized instance of a `RecentManager` object. /// ## `title` /// Title of the dialog, or `None` /// ## `parent` /// Transient parent of the dialog, or `None`, /// ## `manager` /// a `RecentManager` /// ## `first_button_text` /// stock ID or text to go in the first button, or `None` /// /// # Returns /// /// a new `RecentChooserDialog` pub fn new_for_manager<T: IsA<Window>>( title: Option<&str>, parent: Option<&T>, manager: &RecentManager, ) -> RecentChooserDialog { assert_initialized_main_thread!(); unsafe { Widget::from_glib_none(gtk_sys::gtk_recent_chooser_dialog_new_for_manager( title.to_glib_none().0, parent.map(|p| p.as_ref()).to_glib_none().0, manager.to_glib_none().0, ptr::null_mut(), )) .unsafe_cast() } } }