/////////////////////////////////////////////////////////////////////////
-// 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(__APPLE__)
-#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_RIGHT_UP )
DEFINE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DCLICK )
DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK )
+DEFINE_EVENT_TYPE( wxEVT_TASKBAR_BALLOON_TIMEOUT )
+DEFINE_EVENT_TYPE( wxEVT_TASKBAR_BALLOON_CLICK )
+
+
+BEGIN_EVENT_TABLE(wxTaskBarIconBase, wxEvtHandler)
+ EVT_TASKBAR_CLICK(wxTaskBarIconBase::OnRightButtonDown)
+END_EVENT_TABLE()
+
+void wxTaskBarIconBase::OnRightButtonDown(wxTaskBarIconEvent& WXUNUSED(event))
+{
+ wxMenu *menu = CreatePopupMenu();
+ if (menu)
+ {
+ PopupMenu(menu);
+ delete menu;
+ }
+}
+
+void wxTaskBarIconBase::Destroy()
+{
+ wxPendingDelete.Append(this);
+}
-#endif //def wxHAS_TASK_BAR_ICON
+#endif // wxUSE_TASKBARICON