dbusmenu-glib 0.1.0

Rust bindings to dbusmenu-glib
Documentation
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from /nix/store/39vgdpiqy94qwa8rraha7q4wcd8hdwcj-dbusmenu-gtk3-gir
// from /nix/store/ahri9v0b3c1jyls6691sjfzf2s461fzz-source
// DO NOT EDIT

use glib::{translate::*};
use std::{fmt};

/// Tracks how the menus should be presented to the user.
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[derive(Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "DbusmenuStatus")]
pub enum Status {
    /// Everything is normal
    #[doc(alias = "DBUSMENU_STATUS_NORMAL")]
    Normal,
    /// The menus should be shown at a higher priority
    #[doc(alias = "DBUSMENU_STATUS_NOTICE")]
    Notice,
#[doc(hidden)]
    __Unknown(i32),
}

impl fmt::Display for Status {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "Status::{}", match *self {
            Self::Normal => "Normal",
            Self::Notice => "Notice",
            _ => "Unknown",
        })
    }
}

#[doc(hidden)]
impl IntoGlib for Status {
    type GlibType = ffi::DbusmenuStatus;

    #[inline]
fn into_glib(self) -> ffi::DbusmenuStatus {
match self {
            Self::Normal => ffi::DBUSMENU_STATUS_NORMAL,
            Self::Notice => ffi::DBUSMENU_STATUS_NOTICE,
            Self::__Unknown(value) => value,
}
}
}

#[doc(hidden)]
impl FromGlib<ffi::DbusmenuStatus> for Status {
    #[inline]
unsafe fn from_glib(value: ffi::DbusmenuStatus) -> Self {
        skip_assert_initialized!();
        
match value {
            ffi::DBUSMENU_STATUS_NORMAL => Self::Normal,
            ffi::DBUSMENU_STATUS_NOTICE => Self::Notice,
            value => Self::__Unknown(value),
}
}
}

/// The direction of text that the strings that this server
///     will be sending strings as.
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[derive(Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "DbusmenuTextDirection")]
pub enum TextDirection {
    /// Unspecified text direction
    #[doc(alias = "DBUSMENU_TEXT_DIRECTION_NONE")]
    None,
    /// Left-to-right text direction
    #[doc(alias = "DBUSMENU_TEXT_DIRECTION_LTR")]
    Ltr,
    /// Right-to-left text direction
    #[doc(alias = "DBUSMENU_TEXT_DIRECTION_RTL")]
    Rtl,
#[doc(hidden)]
    __Unknown(i32),
}

impl fmt::Display for TextDirection {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "TextDirection::{}", match *self {
            Self::None => "None",
            Self::Ltr => "Ltr",
            Self::Rtl => "Rtl",
            _ => "Unknown",
        })
    }
}

#[doc(hidden)]
impl IntoGlib for TextDirection {
    type GlibType = ffi::DbusmenuTextDirection;

    #[inline]
fn into_glib(self) -> ffi::DbusmenuTextDirection {
match self {
            Self::None => ffi::DBUSMENU_TEXT_DIRECTION_NONE,
            Self::Ltr => ffi::DBUSMENU_TEXT_DIRECTION_LTR,
            Self::Rtl => ffi::DBUSMENU_TEXT_DIRECTION_RTL,
            Self::__Unknown(value) => value,
}
}
}

#[doc(hidden)]
impl FromGlib<ffi::DbusmenuTextDirection> for TextDirection {
    #[inline]
unsafe fn from_glib(value: ffi::DbusmenuTextDirection) -> Self {
        skip_assert_initialized!();
        
match value {
            ffi::DBUSMENU_TEXT_DIRECTION_NONE => Self::None,
            ffi::DBUSMENU_TEXT_DIRECTION_LTR => Self::Ltr,
            ffi::DBUSMENU_TEXT_DIRECTION_RTL => Self::Rtl,
            value => Self::__Unknown(value),
}
}
}