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); } }