From 6af507f77e563a71f8935f67c9c8a9054309d26d Mon Sep 17 00:00:00 2001
From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= <vslavik@fastmail.fm>
Date: Fri, 4 Apr 2003 22:33:47 +0000
Subject: [PATCH] preparation for X11 wxTaskBarIcon version: 1. moved events to
 common file from MSW specific 2. deprecated virtual functions in favour of
 event handlers 3. removed taskbar.cpp files from port that don't implement it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/taskbar.tex |  4 +--
 include/wx/msw/taskbar.h  | 51 ++++++++-------------------------
 include/wx/taskbar.h      | 59 +++++++++++++++++++++++++++++++++------
 src/msw/taskbar.cpp       | 44 +++++++++--------------------
 4 files changed, 78 insertions(+), 80 deletions(-)

diff --git a/docs/latex/wx/taskbar.tex b/docs/latex/wx/taskbar.tex
index 6651590b36..48c6a5b31a 100644
--- a/docs/latex/wx/taskbar.tex
+++ b/docs/latex/wx/taskbar.tex
@@ -55,9 +55,9 @@ Destroys the wxTaskBarIcon object, removing the icon if not already removed.
 
 Returns true if \helpref{SetIcon}{wxtaskbariconseticon} was called with no subsequent \helpref{RemoveIcon}{wxtaskbariconremoveicon}.
 
-\membersection{wxTaskBarIcon::IsOK}\label{wxtaskbariconisok}
+\membersection{wxTaskBarIcon::IsOk}\label{wxtaskbariconisok}
 
-\func{bool}{IsOK}{\void}
+\func{bool}{IsOk}{\void}
 
 Returns true if the object initialized successfully.
 
diff --git a/include/wx/msw/taskbar.h b/include/wx/msw/taskbar.h
index 47fb0e8fae..0184800270 100644
--- a/include/wx/msw/taskbar.h
+++ b/include/wx/msw/taskbar.h
@@ -17,7 +17,6 @@
 #pragma interface "taskbar.h"
 #endif
 
-#include "wx/event.h"
 #include "wx/list.h"
 #include "wx/icon.h"
 
@@ -25,7 +24,8 @@ class wxTaskBarIcon;
 
 WX_DECLARE_EXPORTED_LIST(wxTaskBarIcon, wxTaskBarIconList);
 
-class WXDLLEXPORT wxTaskBarIcon: public wxEvtHandler {
+class WXDLLEXPORT wxTaskBarIcon: public wxTaskBarIconBase
+{
     DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
 public:
     wxTaskBarIcon(void);
@@ -33,7 +33,7 @@ public:
 
 // Accessors
     inline WXHWND GetHWND() const { return m_hWnd; }
-    inline bool IsOK() const { return (m_hWnd != 0) ; }
+    inline bool IsOk() const { return (m_hWnd != 0) ; }
     inline bool IsIconInstalled() const { return m_iconAdded; }
 
 // Operations
@@ -41,6 +41,9 @@ public:
     bool RemoveIcon(void);
     bool PopupMenu(wxMenu *menu); //, int x, int y);
 
+#if WXWIN_COMPATIBILITY_2_4
+    wxDEPRECATED( bool IsOK() const );
+
 // Overridables
     virtual void OnMouseMove(wxEvent&);
     virtual void OnLButtonDown(wxEvent&);
@@ -49,6 +52,7 @@ public:
     virtual void OnRButtonUp(wxEvent&);
     virtual void OnLButtonDClick(wxEvent&);
     virtual void OnRButtonDClick(wxEvent&);
+#endif
 
 // Implementation
     static wxTaskBarIcon* FindObjectForHWND(WXHWND hWnd);
@@ -66,6 +70,7 @@ protected:
     static bool     sm_registeredClass;
     static unsigned int sm_taskbarMsg;
 
+#if WXWIN_COMPATIBILITY_2_4
     // non-virtual default event handlers to forward events to the virtuals
     void _OnMouseMove(wxEvent&);
     void _OnLButtonDown(wxEvent&);
@@ -75,45 +80,13 @@ protected:
     void _OnLButtonDClick(wxEvent&);
     void _OnRButtonDClick(wxEvent&);
 
-
     DECLARE_EVENT_TABLE()
+#endif
 };
 
-
-// ----------------------------------------------------------------------------
-// wxTaskBarIcon events
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxTaskBarIconEvent : public wxEvent
-{
-public:
-    wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon)
-        : wxEvent(-1, evtType)
-        {
-            SetEventObject(tbIcon);
-        }
-
-    virtual wxEvent *Clone() const { return new wxTaskBarIconEvent(*this); }
-};
-
-BEGIN_DECLARE_EVENT_TYPES()
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_MOVE, 1550 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DOWN, 1551 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_UP, 1552 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DOWN, 1553 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_UP, 1554 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DCLICK, 1555 )
-DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK, 1556 )
-END_DECLARE_EVENT_TYPES()
-
-#define EVT_TASKBAR_MOVE(fn)         DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_LEFT_DOWN(fn)    DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_LEFT_UP(fn)      DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_RIGHT_DOWN(fn)   DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_RIGHT_UP(fn)     DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_LEFT_DCLICK(fn)  DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-#define EVT_TASKBAR_RIGHT_DCLICK(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
-
+#if WXWIN_COMPATIBILITY_2_4    
+inline bool wxTaskBarIcon::IsOK() const { return IsOk(); }
+#endif
 
 #endif
     // _TASKBAR_H_
diff --git a/include/wx/taskbar.h b/include/wx/taskbar.h
index a5a73f6c15..fc989414c4 100644
--- a/include/wx/taskbar.h
+++ b/include/wx/taskbar.h
@@ -1,16 +1,59 @@
 #ifndef _WX_TASKBAR_H_BASE_
 #define _WX_TASKBAR_H_BASE_
 
+#include "wx/event.h"
+
+// ----------------------------------------------------------------------------
+// wxTaskBarIconBase: define wxTaskBarIcon interface
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxTaskBarIconBase : public wxEvtHandler
+{
+};
+
+
+// ----------------------------------------------------------------------------
+// now include the actual class declaration
+// ----------------------------------------------------------------------------
+
 #if defined(__WXMSW__)
-#include "wx/msw/taskbar.h"
-#elif defined(__WXMOTIF__)
-#include "wx/motif/taskbar.h"
-#elif defined(__WXGTK__)
-#elif defined(__WXMAC__)
-#include "wx/mac/taskbar.h"
-#elif defined(__WXPM__)
-#include "wx/os2/taskbar.h"
+    #include "wx/msw/taskbar.h"
 #endif
 
+
+// ----------------------------------------------------------------------------
+// wxTaskBarIcon events
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxTaskBarIconEvent : public wxEvent
+{
+public:
+    wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon)
+        : wxEvent(-1, evtType)
+    {
+        SetEventObject(tbIcon);
+    }
+
+    virtual wxEvent *Clone() const { return new wxTaskBarIconEvent(*this); }
+};
+
+BEGIN_DECLARE_EVENT_TYPES()
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_MOVE, 1550 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DOWN, 1551 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_UP, 1552 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DOWN, 1553 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_UP, 1554 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DCLICK, 1555 )
+    DECLARE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK, 1556 )
+END_DECLARE_EVENT_TYPES()
+
+#define EVT_TASKBAR_MOVE(fn)         DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_DOWN(fn)    DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_UP(fn)      DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_DOWN(fn)   DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_UP(fn)     DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_DCLICK(fn)  DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_DCLICK(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+
 #endif
     // _WX_TASKBAR_H_BASE_
diff --git a/src/msw/taskbar.cpp b/src/msw/taskbar.cpp
index 6be5dd0428..39344c02a0 100644
--- a/src/msw/taskbar.cpp
+++ b/src/msw/taskbar.cpp
@@ -36,7 +36,7 @@
 #include "wx/msw/winundef.h"
 
 #include <string.h>
-#include "wx/msw/taskbar.h"
+#include "wx/taskbar.h"
 #include "wx/msw/private.h"
 
 #ifndef __TWIN32__
@@ -69,6 +69,7 @@ DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_UP )
 DEFINE_EVENT_TYPE( wxEVT_TASKBAR_LEFT_DCLICK )
 DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK )
 
+#if WXWIN_COMPATIBILITY_2_4
 BEGIN_EVENT_TABLE(wxTaskBarIcon, wxEvtHandler)
     EVT_TASKBAR_MOVE         (wxTaskBarIcon::_OnMouseMove)
     EVT_TASKBAR_LEFT_DOWN    (wxTaskBarIcon::_OnLButtonDown)
@@ -78,6 +79,7 @@ BEGIN_EVENT_TABLE(wxTaskBarIcon, wxEvtHandler)
     EVT_TASKBAR_LEFT_DCLICK  (wxTaskBarIcon::_OnLButtonDClick)
     EVT_TASKBAR_RIGHT_DCLICK (wxTaskBarIcon::_OnRButtonDClick)
 END_EVENT_TABLE()
+#endif
 
 
 IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
@@ -113,7 +115,7 @@ wxTaskBarIcon::~wxTaskBarIcon(void)
 // Operations
 bool wxTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& tooltip)
 {
-    if (!IsOK())
+    if (!IsOk())
         return false;
 
     NOTIFYICONDATA notifyData;
@@ -209,35 +211,15 @@ bool wxTaskBarIcon::PopupMenu(wxMenu *menu) //, int x, int y);
     return rval;
 }
 
-
+#if WXWIN_COMPATIBILITY_2_4
 // Overridables
-void wxTaskBarIcon::OnMouseMove(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnLButtonDown(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnLButtonUp(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnRButtonDown(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnRButtonUp(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnLButtonDClick(wxEvent&)
-{
-}
-
-void wxTaskBarIcon::OnRButtonDClick(wxEvent&)
-{
-}
+void wxTaskBarIcon::OnMouseMove(wxEvent&)         {}
+void wxTaskBarIcon::OnLButtonDown(wxEvent&)       {}
+void wxTaskBarIcon::OnLButtonUp(wxEvent&)         {}
+void wxTaskBarIcon::OnRButtonDown(wxEvent&)       {}
+void wxTaskBarIcon::OnRButtonUp(wxEvent&)         {}
+void wxTaskBarIcon::OnLButtonDClick(wxEvent&)     {}
+void wxTaskBarIcon::OnRButtonDClick(wxEvent&)     {}
 
 void wxTaskBarIcon::_OnMouseMove(wxEvent& e)      { OnMouseMove(e);     }
 void wxTaskBarIcon::_OnLButtonDown(wxEvent& e)    { OnLButtonDown(e);   }
@@ -246,7 +228,7 @@ void wxTaskBarIcon::_OnRButtonDown(wxEvent& e)    { OnRButtonDown(e);   }
 void wxTaskBarIcon::_OnRButtonUp(wxEvent& e)      { OnRButtonUp(e);     }
 void wxTaskBarIcon::_OnLButtonDClick(wxEvent& e)  { OnLButtonDClick(e); }
 void wxTaskBarIcon::_OnRButtonDClick(wxEvent& e)  { OnRButtonDClick(e); }
-
+#endif
 
 wxTaskBarIcon* wxTaskBarIcon::FindObjectForHWND(WXHWND hWnd)
 {
-- 
2.50.0

