/////////////////////////////////////////////////////////////////////////
-// File: taskbarcmn.cpp
+// File: src/common/taskbarcmn.cpp
// Purpose: Common parts of wxTaskBarIcon class
// Author: Julian Smart
// Modified by:
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "taskbar.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/defs.h"
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_TASKBARICON
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/list.h"
+ #include "wx/menu.h"
+#endif
-#ifdef wxHAS_TASK_BAR_ICON
+extern WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
// DLL options compatibility check:
-#include "wx/app.h"
WX_CHECK_BUILD_OPTIONS("wxAdvanced")
-
#include "wx/taskbar.h"
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_MOVE )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DOWN )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_UP )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DOWN )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_UP )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DCLICK )
-DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK )
+wxDEFINE_EVENT( wxEVT_TASKBAR_MOVE, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_LEFT_DOWN, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_LEFT_UP, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_RIGHT_DOWN, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_RIGHT_UP, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_LEFT_DCLICK, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_RIGHT_DCLICK, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_BALLOON_TIMEOUT, wxTaskBarIconEvent )
+wxDEFINE_EVENT( wxEVT_TASKBAR_BALLOON_CLICK, wxTaskBarIconEvent )
BEGIN_EVENT_TABLE(wxTaskBarIconBase, wxEvtHandler)
- EVT_TASKBAR_RIGHT_DOWN(wxTaskBarIconBase::OnRightButtonDown)
+ EVT_TASKBAR_CLICK(wxTaskBarIconBase::OnRightButtonDown)
END_EVENT_TABLE()
-void wxTaskBarIconBase::OnRightButtonDown(wxEvent& WXUNUSED(event))
+void wxTaskBarIconBase::OnRightButtonDown(wxTaskBarIconEvent& WXUNUSED(event))
{
wxMenu *menu = CreatePopupMenu();
if (menu)
delete menu;
}
}
-
-#endif // defined(wxHAS_TASK_BAR_ICON)
+
+void wxTaskBarIconBase::Destroy()
+{
+ wxPendingDelete.Append(this);
+}
+
+#endif // wxUSE_TASKBARICON