pub fn show<'a>(&self, text: &'a str, title: Option<&'a str>, flags: Option<TrayNotificationFlags>, icon: Option<&'a Icon>) {
        use winapi::um::shellapi::{NIF_INFO, NIM_MODIFY};
        use winapi::shared::windef::HICON;

        if self.handle.blank() { panic!("{}", NOT_BOUND); }
        self.handle.tray().expect(BAD_HANDLE);

        let default_flags = TrayNotificationFlags::NO_ICON | TrayNotificationFlags::SILENT;

        unsafe {
            let mut data = self.notify_default();
            data.uFlags = NIF_INFO;
            data.dwInfoFlags = flags.unwrap_or(default_flags).bits();
            data.hBalloonIcon = icon.map(|i| i.handle as HICON).unwrap_or(ptr::null_mut());
            
            let info_v = to_utf16(text);
            let length = if info_v.len() >= 256 { 255 } else { info_v.len() };
            for i in 0..length {
                data.szInfo[i] = info_v[i];
            }
        
            let info_title_v = match title {
                Some(t) => to_utf16(t),
                None => vec![]
            };

            let length = if info_title_v.len() >= 256 { 255 } else { info_title_v.len() };
            for i in 0..length {
                data.szInfoTitle[i] = info_title_v[i];
            }

            Shell_NotifyIconW(NIM_MODIFY, &mut data);
        }
    }
/// Shows a popup message on top of the system tray
///
/// Parameters:
///   - text: The text in the popup
///   - title: The title of the popup
///   - flags: Flags that specify how the popup is shown. Default is NO_ICON | QUIET.
///   - icon: Icon to display in the popup. Only used if `USER_ICON` is set in flags.
///
/// Note 1: text will be truncated to 255 characters
/// Note 2: title will be truncated to 63 characters
Shows a popup message on top of the system tray
Parameters:
text: The text in the popup
title: The title of the popup
flags: Flags that specify how the popup is shown. Default is NO_ICON | QUIET.
icon: Icon to display in the popup. Only used if `USER_ICON` is set in flags.

Note 1: text will be truncated to 255 characters
Note 2: title will be truncated to 63 characters
Shows a popup message on top of the system tray Parameters : text : The text in the popup title : The title of the popup flags : Flags that specify how the popup is shown . Default is NO_ICON | QUIET . icon : Icon to display in the popup . Only used if ` USER_ICON ` is set in flags . Note 1 : text will be truncated to 255 characters Note 2 : title will be truncated to 63 characters
pub fn show<'a>(&self, text: &'a str, title: Option<&'a str>, flags: Option<TrayNotificationFlags>, icon: Option<&'a Icon>) {
        use winapi::um::shellapi::{NIF_INFO, NIM_MODIFY};
        use winapi::shared::windef::HICON;
        if self.handle.blank() { panic!("{}", NOT_BOUND); }
        self.handle.tray().expect(BAD_HANDLE);
        let default_flags = TrayNotificationFlags::NO_ICON | TrayNotificationFlags::SILENT;
        unsafe {
            let mut data = self.notify_default();
            data.uFlags = NIF_INFO;
            data.dwInfoFlags = flags.unwrap_or(default_flags).bits();
            data.hBalloonIcon = icon.map(|i| i.handle as HICON).unwrap_or(ptr::null_mut());
            let info_v = to_utf16(text);
            let length = if info_v.len() >= 256 { 255 } else { info_v.len() };
            for i in 0..length {
                data.szInfo[i] = info_v[i];
            }
            let info_title_v = match title {
                Some(t) => to_utf16(t),
                None => vec![]
            };
            let length = if info_title_v.len() >= 256 { 255 } else { info_title_v.len() };
            for i in 0..length {
                data.szInfoTitle[i] = info_title_v[i];
            }
            Shell_NotifyIconW(NIM_MODIFY, &mut data);
        }
    }
pub fn show < ' a > ( & self , text : & ' a str , title : Option < & ' a str > , flags : Option < TrayNotificationFlags > , icon : Option < & ' a Icon > ) { use winapi :: um :: shellapi :: { NIF_INFO , NIM_MODIFY } ; use winapi :: shared :: windef :: HICON ; if self . handle . blank ( ) { panic ! ( " " NOT_BOUND ) ; } self . handle . tray ( ) . expect ( BAD_HANDLE ) ; let default_flags = TrayNotificationFlags :: NO_ICON | TrayNotificationFlags :: SILENT ; unsafe { let mut data = self . notify_default ( ) ; data . uFlags = NIF_INFO ; data . dwInfoFlags = flags . unwrap_or ( default_flags ) . bits ( ) ; data . hBalloonIcon = icon . map ( | i | i . handle as HICON ) . unwrap_or ( ptr :: null_mut ( ) ) ; let info_v = to_utf16 ( text ) ; let length = if info_v . len ( ) >= 256 { 255 } else { info_v . len ( ) } ; for i in 0 .. length { data . szInfo [ i ] = info_v [ i ] ; } let info_title_v = match title { Some ( t ) => to_utf16 ( t ) , None => vec ! [ ] } ; let length = if info_title_v . len ( ) >= 256 { 255 } else { info_title_v . len ( ) } ; for i in 0 .. length { data . szInfoTitle [ i ] = info_title_v [ i ] ; } Shell_NotifyIconW ( NIM_MODIFY , & mut data ) ; } }
Shows a popup message on top of the system tray
Parameters:
 text: The text in the popup
 title: The title of the popup
 flags: Flags that specify how the popup is shown.
Shows a popup message on top of the system tray Parameters : text : The text in the popup title : The title of the popup flags : Flags that specify how the popup is shown .
&self
text
&'a str
title
Option<&'a str>
flags
Option<TrayNotificationFlags>
icon
Option<&'a Icon>