1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG interface defs for wxTaskBarIcon
7 // Created: 2-June-1998
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
16 //---------------------------------------------------------------------------
21 //---------------------------------------------------------------------------
26 #ifndef wxHAS_TASK_BAR_ICON
27 // implement dummy classes for platforms that don't have it
29 class wxTaskBarIcon : public wxEvtHandler
32 wxTaskBarIcon() { wxPyRaiseNotImplemented(); }
36 class wxTaskBarIconEvent : public wxEvent
39 wxTaskBarIconEvent(wxEventType, wxTaskBarIcon *)
40 { wxPyRaiseNotImplemented(); }
41 virtual wxEvent* Clone() const { return NULL; }
42 bool IsOk() const { return false; }
43 bool IsIconInstalled() const { return false; }
44 bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxPyEmptyString) { return false; }
45 bool RemoveIcon() { return false; }
46 bool PopupMenu(wxMenu *menu) { return false; }
50 wxEVT_TASKBAR_MOVE = 0,
51 wxEVT_TASKBAR_LEFT_DOWN = 0,
52 wxEVT_TASKBAR_LEFT_UP = 0,
53 wxEVT_TASKBAR_RIGHT_DOWN = 0,
54 wxEVT_TASKBAR_RIGHT_UP = 0,
55 wxEVT_TASKBAR_LEFT_DCLICK = 0,
56 wxEVT_TASKBAR_RIGHT_DCLICK = 0,
61 // Otherwise make a class that can virtualize CreatePopupMenu
62 class wxPyTaskBarIcon : public wxTaskBarIcon
64 DECLARE_ABSTRACT_CLASS(wxPyTaskBarIcon)
66 wxPyTaskBarIcon() : wxTaskBarIcon()
69 wxMenu* CreatePopupMenu() {
72 wxPyBlock_t blocked = wxPyBeginBlockThreads();
73 if ((found = wxPyCBH_findCallback(m_myInst, "CreatePopupMenu"))) {
76 ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
78 if (wxPyConvertSwigPtr(ro, (void **)&ptr, wxT("wxMenu")))
83 wxPyEndBlockThreads(blocked);
85 rval = wxTaskBarIcon::CreatePopupMenu();
92 IMPLEMENT_ABSTRACT_CLASS(wxPyTaskBarIcon, wxTaskBarIcon);
98 MustHaveApp(wxPyTaskBarIcon);
100 %rename(TaskBarIcon) wxPyTaskBarIcon;
101 class wxPyTaskBarIcon : public wxEvtHandler
104 %pythonAppend wxPyTaskBarIcon "self._setCallbackInfo(self, TaskBarIcon, 0)"
109 void _setCallbackInfo(PyObject* self, PyObject* _class, int incref);
111 %pythonAppend Destroy "args[0].thisown = 0";
120 %pythoncode { def __nonzero__(self): return self.IsOk() }
122 bool IsIconInstalled() const;
124 bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxPyEmptyString);
126 bool PopupMenu(wxMenu *menu);
131 class wxTaskBarIconEvent : public wxEvent
134 wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon);
139 %constant wxEventType wxEVT_TASKBAR_MOVE;
140 %constant wxEventType wxEVT_TASKBAR_LEFT_DOWN;
141 %constant wxEventType wxEVT_TASKBAR_LEFT_UP;
142 %constant wxEventType wxEVT_TASKBAR_RIGHT_DOWN;
143 %constant wxEventType wxEVT_TASKBAR_RIGHT_UP;
144 %constant wxEventType wxEVT_TASKBAR_LEFT_DCLICK;
145 %constant wxEventType wxEVT_TASKBAR_RIGHT_DCLICK;
149 EVT_TASKBAR_MOVE = wx.PyEventBinder ( wxEVT_TASKBAR_MOVE )
150 EVT_TASKBAR_LEFT_DOWN = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_DOWN )
151 EVT_TASKBAR_LEFT_UP = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_UP )
152 EVT_TASKBAR_RIGHT_DOWN = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_DOWN )
153 EVT_TASKBAR_RIGHT_UP = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_UP )
154 EVT_TASKBAR_LEFT_DCLICK = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_DCLICK )
155 EVT_TASKBAR_RIGHT_DCLICK = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_DCLICK )
158 //---------------------------------------------------------------------------