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
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::{InfoBar, ResponseType};
impl InfoBar {
    /// Creates a new [`InfoBar`][crate::InfoBar] with buttons.
    ///
    /// Button text/response ID pairs should be listed, with a [`None`] pointer
    /// ending the list. A response ID can be any positive number,
    /// or one of the values in the [`ResponseType`][crate::ResponseType] enumeration. If the
    /// user clicks one of these dialog buttons, GtkInfoBar will emit
    /// the [`response`][struct@crate::InfoBar#response] signal with the corresponding
    /// response ID.
    ///
    /// # Deprecated since 4.10
    ///
    /// ## `first_button_text`
    /// ext to go in first button
    ///
    /// # Returns
    ///
    /// a new [`InfoBar`][crate::InfoBar]
    #[doc(alias = "gtk_info_bar_new_with_buttons")]
    #[doc(alias = "new_with_buttons")]
    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
    #[allow(deprecated)]
    pub fn with_buttons(buttons: &[(&str, ResponseType)]) -> Self {
        assert_initialized_main_thread!();
        let info_bar = InfoBar::new();
        info_bar.add_buttons(buttons);
        info_bar
    }
    /// Adds multiple buttons.
    ///
    /// This is the same as calling [`add_button()`][Self::add_button()]
    /// repeatedly. The variable argument list should be [`None`]-terminated
    /// as with [`with_buttons()`][Self::with_buttons()]. Each button must have both
    /// text and response ID.
    ///
    /// # Deprecated since 4.10
    ///
    /// ## `first_button_text`
    /// button text
    #[doc(alias = "gtk_info_bar_add_buttons")]
    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
    #[allow(deprecated)]
    pub fn add_buttons(&self, buttons: &[(&str, ResponseType)]) {
        for &(text, id) in buttons {
            self.add_button(text, id);
        }
    }
}