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
This commit is contained in:
@@ -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}.
|
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.
|
Returns true if the object initialized successfully.
|
||||||
|
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#pragma interface "taskbar.h"
|
#pragma interface "taskbar.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/event.h"
|
|
||||||
#include "wx/list.h"
|
#include "wx/list.h"
|
||||||
#include "wx/icon.h"
|
#include "wx/icon.h"
|
||||||
|
|
||||||
@@ -25,7 +24,8 @@ class wxTaskBarIcon;
|
|||||||
|
|
||||||
WX_DECLARE_EXPORTED_LIST(wxTaskBarIcon, wxTaskBarIconList);
|
WX_DECLARE_EXPORTED_LIST(wxTaskBarIcon, wxTaskBarIconList);
|
||||||
|
|
||||||
class WXDLLEXPORT wxTaskBarIcon: public wxEvtHandler {
|
class WXDLLEXPORT wxTaskBarIcon: public wxTaskBarIconBase
|
||||||
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
|
DECLARE_DYNAMIC_CLASS(wxTaskBarIcon)
|
||||||
public:
|
public:
|
||||||
wxTaskBarIcon(void);
|
wxTaskBarIcon(void);
|
||||||
@@ -33,7 +33,7 @@ public:
|
|||||||
|
|
||||||
// Accessors
|
// Accessors
|
||||||
inline WXHWND GetHWND() const { return m_hWnd; }
|
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; }
|
inline bool IsIconInstalled() const { return m_iconAdded; }
|
||||||
|
|
||||||
// Operations
|
// Operations
|
||||||
@@ -41,6 +41,9 @@ public:
|
|||||||
bool RemoveIcon(void);
|
bool RemoveIcon(void);
|
||||||
bool PopupMenu(wxMenu *menu); //, int x, int y);
|
bool PopupMenu(wxMenu *menu); //, int x, int y);
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
|
wxDEPRECATED( bool IsOK() const );
|
||||||
|
|
||||||
// Overridables
|
// Overridables
|
||||||
virtual void OnMouseMove(wxEvent&);
|
virtual void OnMouseMove(wxEvent&);
|
||||||
virtual void OnLButtonDown(wxEvent&);
|
virtual void OnLButtonDown(wxEvent&);
|
||||||
@@ -49,6 +52,7 @@ public:
|
|||||||
virtual void OnRButtonUp(wxEvent&);
|
virtual void OnRButtonUp(wxEvent&);
|
||||||
virtual void OnLButtonDClick(wxEvent&);
|
virtual void OnLButtonDClick(wxEvent&);
|
||||||
virtual void OnRButtonDClick(wxEvent&);
|
virtual void OnRButtonDClick(wxEvent&);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Implementation
|
// Implementation
|
||||||
static wxTaskBarIcon* FindObjectForHWND(WXHWND hWnd);
|
static wxTaskBarIcon* FindObjectForHWND(WXHWND hWnd);
|
||||||
@@ -66,6 +70,7 @@ protected:
|
|||||||
static bool sm_registeredClass;
|
static bool sm_registeredClass;
|
||||||
static unsigned int sm_taskbarMsg;
|
static unsigned int sm_taskbarMsg;
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
// non-virtual default event handlers to forward events to the virtuals
|
// non-virtual default event handlers to forward events to the virtuals
|
||||||
void _OnMouseMove(wxEvent&);
|
void _OnMouseMove(wxEvent&);
|
||||||
void _OnLButtonDown(wxEvent&);
|
void _OnLButtonDown(wxEvent&);
|
||||||
@@ -75,45 +80,13 @@ protected:
|
|||||||
void _OnLButtonDClick(wxEvent&);
|
void _OnLButtonDClick(wxEvent&);
|
||||||
void _OnRButtonDClick(wxEvent&);
|
void _OnRButtonDClick(wxEvent&);
|
||||||
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
// ----------------------------------------------------------------------------
|
inline bool wxTaskBarIcon::IsOK() const { return IsOk(); }
|
||||||
// wxTaskBarIcon events
|
#endif
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
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
|
#endif
|
||||||
// _TASKBAR_H_
|
// _TASKBAR_H_
|
||||||
|
@@ -1,16 +1,59 @@
|
|||||||
#ifndef _WX_TASKBAR_H_BASE_
|
#ifndef _WX_TASKBAR_H_BASE_
|
||||||
#define _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__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/taskbar.h"
|
#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"
|
|
||||||
#endif
|
#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
|
#endif
|
||||||
// _WX_TASKBAR_H_BASE_
|
// _WX_TASKBAR_H_BASE_
|
||||||
|
@@ -36,7 +36,7 @@
|
|||||||
#include "wx/msw/winundef.h"
|
#include "wx/msw/winundef.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "wx/msw/taskbar.h"
|
#include "wx/taskbar.h"
|
||||||
#include "wx/msw/private.h"
|
#include "wx/msw/private.h"
|
||||||
|
|
||||||
#ifndef __TWIN32__
|
#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_LEFT_DCLICK )
|
||||||
DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK )
|
DEFINE_EVENT_TYPE( wxEVT_TASKBAR_RIGHT_DCLICK )
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
BEGIN_EVENT_TABLE(wxTaskBarIcon, wxEvtHandler)
|
BEGIN_EVENT_TABLE(wxTaskBarIcon, wxEvtHandler)
|
||||||
EVT_TASKBAR_MOVE (wxTaskBarIcon::_OnMouseMove)
|
EVT_TASKBAR_MOVE (wxTaskBarIcon::_OnMouseMove)
|
||||||
EVT_TASKBAR_LEFT_DOWN (wxTaskBarIcon::_OnLButtonDown)
|
EVT_TASKBAR_LEFT_DOWN (wxTaskBarIcon::_OnLButtonDown)
|
||||||
@@ -78,6 +79,7 @@ BEGIN_EVENT_TABLE(wxTaskBarIcon, wxEvtHandler)
|
|||||||
EVT_TASKBAR_LEFT_DCLICK (wxTaskBarIcon::_OnLButtonDClick)
|
EVT_TASKBAR_LEFT_DCLICK (wxTaskBarIcon::_OnLButtonDClick)
|
||||||
EVT_TASKBAR_RIGHT_DCLICK (wxTaskBarIcon::_OnRButtonDClick)
|
EVT_TASKBAR_RIGHT_DCLICK (wxTaskBarIcon::_OnRButtonDClick)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
|
IMPLEMENT_DYNAMIC_CLASS(wxTaskBarIcon, wxEvtHandler)
|
||||||
@@ -113,7 +115,7 @@ wxTaskBarIcon::~wxTaskBarIcon(void)
|
|||||||
// Operations
|
// Operations
|
||||||
bool wxTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& tooltip)
|
bool wxTaskBarIcon::SetIcon(const wxIcon& icon, const wxString& tooltip)
|
||||||
{
|
{
|
||||||
if (!IsOK())
|
if (!IsOk())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
NOTIFYICONDATA notifyData;
|
NOTIFYICONDATA notifyData;
|
||||||
@@ -209,35 +211,15 @@ bool wxTaskBarIcon::PopupMenu(wxMenu *menu) //, int x, int y);
|
|||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
// Overridables
|
// Overridables
|
||||||
void wxTaskBarIcon::OnMouseMove(wxEvent&)
|
void wxTaskBarIcon::OnMouseMove(wxEvent&) {}
|
||||||
{
|
void wxTaskBarIcon::OnLButtonDown(wxEvent&) {}
|
||||||
}
|
void wxTaskBarIcon::OnLButtonUp(wxEvent&) {}
|
||||||
|
void wxTaskBarIcon::OnRButtonDown(wxEvent&) {}
|
||||||
void wxTaskBarIcon::OnLButtonDown(wxEvent&)
|
void wxTaskBarIcon::OnRButtonUp(wxEvent&) {}
|
||||||
{
|
void wxTaskBarIcon::OnLButtonDClick(wxEvent&) {}
|
||||||
}
|
void wxTaskBarIcon::OnRButtonDClick(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::_OnMouseMove(wxEvent& e) { OnMouseMove(e); }
|
||||||
void wxTaskBarIcon::_OnLButtonDown(wxEvent& e) { OnLButtonDown(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::_OnRButtonUp(wxEvent& e) { OnRButtonUp(e); }
|
||||||
void wxTaskBarIcon::_OnLButtonDClick(wxEvent& e) { OnLButtonDClick(e); }
|
void wxTaskBarIcon::_OnLButtonDClick(wxEvent& e) { OnLButtonDClick(e); }
|
||||||
void wxTaskBarIcon::_OnRButtonDClick(wxEvent& e) { OnRButtonDClick(e); }
|
void wxTaskBarIcon::_OnRButtonDClick(wxEvent& e) { OnRButtonDClick(e); }
|
||||||
|
#endif
|
||||||
|
|
||||||
wxTaskBarIcon* wxTaskBarIcon::FindObjectForHWND(WXHWND hWnd)
|
wxTaskBarIcon* wxTaskBarIcon::FindObjectForHWND(WXHWND hWnd)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user