git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
159 lines
4.2 KiB
OpenEdge ABL
159 lines
4.2 KiB
OpenEdge ABL
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: _taskbar.i
|
|
// Purpose: SWIG interface defs for wxTaskBarIcon
|
|
//
|
|
// Author: Robin Dunn
|
|
//
|
|
// Created: 2-June-1998
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2003 by Total Control Software
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Not a %module
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
%{
|
|
%}
|
|
|
|
//---------------------------------------------------------------------------
|
|
%newgroup;
|
|
|
|
|
|
%{
|
|
#ifdef __WXMAC__
|
|
// implement dummy classes and such for wxMac
|
|
|
|
class wxTaskBarIcon : public wxEvtHandler
|
|
{
|
|
public:
|
|
wxTaskBarIcon() { wxPyRaiseNotImplemented(); }
|
|
};
|
|
|
|
|
|
class wxTaskBarIconEvent : public wxEvent
|
|
{
|
|
public:
|
|
wxTaskBarIconEvent(wxEventType, wxTaskBarIcon *)
|
|
{ wxPyRaiseNotImplemented(); }
|
|
virtual wxEvent* Clone() const { return NULL; }
|
|
};
|
|
|
|
enum {
|
|
wxEVT_TASKBAR_MOVE = 0,
|
|
wxEVT_TASKBAR_LEFT_DOWN = 0,
|
|
wxEVT_TASKBAR_LEFT_UP = 0,
|
|
wxEVT_TASKBAR_RIGHT_DOWN = 0,
|
|
wxEVT_TASKBAR_RIGHT_UP = 0,
|
|
wxEVT_TASKBAR_LEFT_DCLICK = 0,
|
|
wxEVT_TASKBAR_RIGHT_DCLICK = 0,
|
|
};
|
|
|
|
|
|
#else
|
|
// // Otherwise make a class that can virtualize CreatePopupMenu
|
|
// class wxPyTaskBarIcon : public wxTaskBarIcon
|
|
// {
|
|
// DECLARE_ABSTRACT_CLASS(wxPyTaskBarIcon);
|
|
// public:
|
|
// wxPyTaskBarIcon() : wxTaskBarIcon()
|
|
// {}
|
|
|
|
// wxMenu* CreatePopupMenu() {
|
|
// wxMenu *rval = NULL;
|
|
// bool found;
|
|
// bool blocked = wxPyBeginBlockThreads();
|
|
// if ((found = wxPyCBH_findCallback(m_myInst, "CreatePopupMenu"))) {
|
|
// PyObject* ro;
|
|
// wxMenu* ptr;
|
|
// ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
|
|
// if (ro) {
|
|
// if (wxPyConvertSwigPtr(ro, (void **)&ptr, wxT("wxMenu")))
|
|
// rval = ptr;
|
|
// Py_DECREF(ro);
|
|
// }
|
|
// }
|
|
// wxPyEndBlockThreads(blocked);
|
|
// if (! found)
|
|
// rval = wxTaskBarIcon::CreatePopupMenu();
|
|
// return rval;
|
|
// }
|
|
|
|
// PYPRIVATE;
|
|
// };
|
|
|
|
// IMPLEMENT_ABSTRACT_CLASS(wxPyTaskBarIcon, wxTaskBarIcon);
|
|
|
|
#endif
|
|
%}
|
|
|
|
|
|
// NOTE: TaskbarIcon has not yet been changed to be able to virtualize the
|
|
// CreatePopupMenu method because it is just before a release and I worry that
|
|
// there will be a problem in this case with it holding a reference to itself
|
|
// (since it depends on the dtor for cleanup.) Better safe than sorry!
|
|
//
|
|
// Perhaps a better mechanism for wxPython woudl be to turn CreatePopupMenu
|
|
// into an event...
|
|
|
|
MustHaveApp(wxTaskBarIcon);
|
|
|
|
class wxTaskBarIcon : public wxEvtHandler
|
|
{
|
|
public:
|
|
wxTaskBarIcon();
|
|
~wxTaskBarIcon();
|
|
|
|
%extend {
|
|
void Destroy() {
|
|
#ifndef __WXMAC__
|
|
self->RemoveIcon();
|
|
#endif
|
|
}
|
|
}
|
|
|
|
#ifndef __WXMAC__
|
|
bool IsOk() const;
|
|
%pythoncode { def __nonzero__(self): return self.IsOk() }
|
|
|
|
bool IsIconInstalled() const;
|
|
|
|
bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxPyEmptyString);
|
|
bool RemoveIcon();
|
|
bool PopupMenu(wxMenu *menu);
|
|
#endif
|
|
};
|
|
|
|
|
|
|
|
class wxTaskBarIconEvent : public wxEvent
|
|
{
|
|
public:
|
|
wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon);
|
|
};
|
|
|
|
|
|
|
|
%constant wxEventType wxEVT_TASKBAR_MOVE;
|
|
%constant wxEventType wxEVT_TASKBAR_LEFT_DOWN;
|
|
%constant wxEventType wxEVT_TASKBAR_LEFT_UP;
|
|
%constant wxEventType wxEVT_TASKBAR_RIGHT_DOWN;
|
|
%constant wxEventType wxEVT_TASKBAR_RIGHT_UP;
|
|
%constant wxEventType wxEVT_TASKBAR_LEFT_DCLICK;
|
|
%constant wxEventType wxEVT_TASKBAR_RIGHT_DCLICK;
|
|
|
|
|
|
%pythoncode {
|
|
EVT_TASKBAR_MOVE = wx.PyEventBinder ( wxEVT_TASKBAR_MOVE )
|
|
EVT_TASKBAR_LEFT_DOWN = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_DOWN )
|
|
EVT_TASKBAR_LEFT_UP = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_UP )
|
|
EVT_TASKBAR_RIGHT_DOWN = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_DOWN )
|
|
EVT_TASKBAR_RIGHT_UP = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_UP )
|
|
EVT_TASKBAR_LEFT_DCLICK = wx.PyEventBinder ( wxEVT_TASKBAR_LEFT_DCLICK )
|
|
EVT_TASKBAR_RIGHT_DCLICK = wx.PyEventBinder ( wxEVT_TASKBAR_RIGHT_DCLICK )
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|