This class represents a taskbar icon, appearing in the 'system tray' and responding to mouse clicks. An icon has an optional tooltip. This class is only supported under Windows 95/NT and in X Window System ports (wxGTK, wxMotif, wxX11).
X Window System Note
Under X Window System, the window manager must support either the System Tray Protocol by freedesktop.org (WMs used by modern desktop environments such as GNOME >= 2, KDE >= 3 and XFCE >= 4 all do) or the older methods used in GNOME 1.2 and KDE 1 and 2. If it doesn't, the icon will appear as a toplevel window on user's desktop.
Because not all window managers have system tray, there's no guarantee that wxTaskBarIcon will work correctly under X Window System and so the applications should use it only as an optional component of their user interface. The user should be required to explicitly enable the taskbar icon on Unix, it shouldn't be on by default.
Derived from
Include files
<wx/taskbar.h>
Event handling
To process input from a taskbar icon, use the following event handler macros to direct input to member functions that take a wxTaskBarIconEvent argument. Note that not all ports are required to send these events and so it's better to override CreatePopupMenu if all that the application does is that it shows a popup menu in reaction to mouse click.
EVT_TASKBAR_MOVE(func) | Process a wxEVT_TASKBAR_MOVE event. |
EVT_TASKBAR_LEFT_DOWN(func) | Process a wxEVT_TASKBAR_LEFT_DOWN event. |
EVT_TASKBAR_LEFT_UP(func) | Process a wxEVT_TASKBAR_LEFT_UP event. |
EVT_TASKBAR_RIGHT_DOWN(func) | Process a wxEVT_TASKBAR_RIGHT_DOWN event. |
EVT_TASKBAR_RIGHT_UP(func) | Process a wxEVT_TASKBAR_RIGHT_UP event. |
EVT_TASKBAR_LEFT_DCLICK(func) | Process a wxEVT_TASKBAR_LEFT_DCLICK event. |
EVT_TASKBAR_RIGHT_DCLICK(func) | Process a wxEVT_TASKBAR_RIGHT_DCLICK event. |
wxTaskBarIcon::wxTaskBarIcon
wxTaskBarIcon::~wxTaskBarIcon
wxTaskBarIcon::CreatePopupMenu
wxTaskBarIcon::IsIconInstalled
wxTaskBarIcon::IsOk
wxTaskBarIcon::PopupMenu
wxTaskBarIcon::RemoveIcon
wxTaskBarIcon::SetIcon
wxTaskBarIcon()
Default constructor.
~wxTaskBarIcon()
Destroys the wxTaskBarIcon object, removing the icon if not already removed.
virtual wxMenu* CreatePopupMenu()
This method is called by the library when the user requests popup menu (on Windows and Unix platforms, this is when the user right-clicks the icon). Override this function in order to provide popup menu associated with the icon.
If CreatePopupIcon returns NULL (this happens by default), no menu is shown, otherwise the menu is displayed and then deleted by the library as soon as the user dismisses it. The events can be handled by a class derived from wxTaskBarIcon.
bool IsIconInstalled()
Returns true if SetIcon was called with no subsequent RemoveIcon.
bool IsOk()
Returns true if the object initialized successfully.
bool PopupMenu(wxMenu* menu)
Pops up a menu at the current mouse position. The events can be handled by a class derived from wxTaskBarIcon.
Note
It is recommended to override CreatePopupIcon callback instead of calling this method from event handler, because some ports (e.g. wxCocoa) may not implement PopupMenu and mouse click events at all.
bool RemoveIcon()
Removes the icon previously set with SetIcon.
bool SetIcon(const wxIcon& icon, const wxString& tooltip)
Sets the icon, and optional tooltip text.