bool wxBalloonNotifMsgImpl::DoShow(const wxString& title, const wxString& message, int timeout, int flags) { if ( !ms_icon->IsIconInstalled() ) { // If we failed to install the icon (which does happen sometimes, // although only in unusual circumstances, e.g. it happens regularly, // albeit not constantly, if we're used soon after resume from suspend // under Windows 7), we should not call ShowBalloon() because it would // just assert and return and we must delete the icon ourselves because // otherwise its associated wxTaskBarIconWindow would remain alive // forever because we're not going to receive a notification about icon // disappearance from the system if we failed to install it in the // first place. delete ms_icon; ms_icon = NULL; ms_refCountIcon = 0; return false; } timeout *= 1000; // Windows expresses timeout in milliseconds return ms_icon->ShowBalloon(title, message, timeout, flags); }
bool wxBalloonNotifMsgImpl::DoShow(const wxString& title, const wxString& message, int timeout, int flags) { timeout *= 1000; // Windows expresses timeout in milliseconds return m_icon->ShowBalloon(title, message, timeout, flags); }
void wxBalloonNotifMsgImpl::SetUpIcon(wxWindow *win) { if ( ms_icon ) { // Increment the reference count if we manage the icon on our own. if ( ms_refCountIcon != -1 ) ms_refCountIcon++; } else // Create a new icon. { wxASSERT_MSG( ms_refCountIcon == 0, wxS("Shouldn't reference not existent icon") ); ms_icon = new wxTaskBarIcon; ms_refCountIcon = 1; // use the icon of the associated (or main, if none) frame wxIcon icon; if ( win ) win = wxGetTopLevelParent(win); if ( !win ) win = wxTheApp->GetTopWindow(); if ( win ) { const wxTopLevelWindow * const tlw = wxDynamicCast(win, wxTopLevelWindow); if ( tlw ) icon = tlw->GetIcon(); } if ( !icon.IsOk() ) { // we really must have some icon icon = wxIcon(wxT("wxICON_AAA")); } ms_icon->SetIcon(icon); } }
void wxBalloonNotifMsgImpl::SetUpIcon(wxWindow *win) { if ( ms_iconToUse ) { // use an existing icon m_ownsIcon = false; m_icon = ms_iconToUse; } else // no user-specified icon to attach to { // create our own one m_ownsIcon = true; m_icon = new wxTaskBarIcon; // use the icon of the associated (or main, if none) frame wxIcon icon; if ( win ) win = wxGetTopLevelParent(win); if ( !win ) win = wxTheApp->GetTopWindow(); if ( win ) { const wxTopLevelWindow * const tlw = wxDynamicCast(win, wxTopLevelWindow); if ( tlw ) icon = tlw->GetIcon(); } if ( !icon.IsOk() ) { // we really must have some icon icon = wxIcon(wxT("wxICON_AAA")); } m_icon->SetIcon(icon); } }