X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1777b9bbf4573dabecf4a3256d0d3c2c0c2a3fdf..960b193e59a7700570cfcae914ef2f698e6ba3b8:/include/wx/taskbar.h diff --git a/include/wx/taskbar.h b/include/wx/taskbar.h index 3474858a65..52a5176d09 100644 --- a/include/wx/taskbar.h +++ b/include/wx/taskbar.h @@ -1,19 +1,77 @@ #ifndef _WX_TASKBAR_H_BASE_ #define _WX_TASKBAR_H_BASE_ +#include "wx/defs.h" + +#ifdef wxHAS_TASK_BAR_ICON + +#include "wx/event.h" + +// ---------------------------------------------------------------------------- +// wxTaskBarIconBase: define wxTaskBarIcon interface +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_ADV wxTaskBarIconBase : public wxEvtHandler +{ +public: + wxTaskBarIconBase() { } + +private: + DECLARE_NO_COPY_CLASS(wxTaskBarIconBase) +}; + + +// ---------------------------------------------------------------------------- +// 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(__WXQT__) -#elif defined(__WXMAC__) -#include "wx/mac/taskbar.h" -#elif defined(__WXPM__) -#include "wx/os2/taskbar.h" -#elif defined(__WXSTUBS__) -#include "wx/stubs/taskbar.h" + #include "wx/msw/taskbar.h" +#elif defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) + #include "wx/unix/taskbarx11.h" +#elif defined(__DARWIN__) + #include "wx/mac/taskbarosx.h" +#endif + +// ---------------------------------------------------------------------------- +// wxTaskBarIcon events +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_ADV wxTaskBarIconEvent : public wxEvent +{ +public: + wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon) + : wxEvent(-1, evtType) + { + SetEventObject(tbIcon); + } + + virtual wxEvent *Clone() const { return new wxTaskBarIconEvent(*this); } + +private: + DECLARE_NO_ASSIGN_CLASS(wxTaskBarIconEvent) +}; + +BEGIN_DECLARE_EVENT_TYPES() + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_MOVE,1550) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_LEFT_DOWN,1551) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_LEFT_UP,1552) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_RIGHT_DOWN,1553) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_RIGHT_UP,1554) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_LEFT_DCLICK,1555) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV,wxEVT_TASKBAR_RIGHT_DCLICK,1556) +END_DECLARE_EVENT_TYPES() + +#define EVT_TASKBAR_MOVE(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_LEFT_DOWN(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_LEFT_UP(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_RIGHT_DOWN(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_RIGHT_UP(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_LEFT_DCLICK(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), +#define EVT_TASKBAR_RIGHT_DCLICK(fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) wxStaticCastEvent( wxEventFunction, &fn ), NULL), + #endif + // wxHAS_TASK_BAR_ICON #endif // _WX_TASKBAR_H_BASE_