]>
Commit | Line | Data |
---|---|---|
1 | \section{\class{wxTaskBarIcon}}\label{wxtaskbaricon} | |
2 | ||
3 | This class represents a taskbar icon. A taskbar icon is an icon that appears in the `system tray' and responds to mouse clicks, optionally with a tooltip above it to help provide information. | |
4 | ||
5 | \wxheading{X Window System Note} | |
6 | ||
7 | Under X Window System, the window manager must support either | |
8 | the \urlref{System Tray Protocol by freedesktop.org}{http://freedesktop.org/Standards/systemtray-spec} | |
9 | (WMs used by modern desktop environments such as GNOME >= 2, KDE | |
10 | >= 3 and XFCE >= 4 all do) or the older methods used in GNOME 1.2 and | |
11 | KDE 1 and 2. If it doesn't, the icon will appear as a toplevel window on | |
12 | user's desktop. | |
13 | ||
14 | Because not all window managers have system tray, there's no guarantee that | |
15 | wxTaskBarIcon will work correctly under X Window System and so the applications | |
16 | should use it only as an optional component of their user interface. The user | |
17 | should be required to explicitly enable the taskbar icon on Unix, it shouldn't | |
18 | be on by default. | |
19 | ||
20 | ||
21 | \wxheading{Derived from} | |
22 | ||
23 | \helpref{wxEvtHandler}{wxevthandler}\\ | |
24 | \helpref{wxObject}{wxobject} | |
25 | ||
26 | \wxheading{Include files} | |
27 | ||
28 | <wx/taskbar.h> | |
29 | ||
30 | \wxheading{Library} | |
31 | ||
32 | \helpref{wxAdv}{librarieslist} | |
33 | ||
34 | \wxheading{Event handling} | |
35 | ||
36 | To process input from a taskbar icon, use the following event handler macros to direct input to member | |
37 | functions that take a wxTaskBarIconEvent argument. Note that not all ports are | |
38 | required to send these events and so it's better to override | |
39 | \helpref{CreatePopupMenu}{wxtaskbariconcreatepopupmenu} if all that | |
40 | the application does is that it shows a popup menu in reaction to mouse click. | |
41 | ||
42 | \twocolwidtha{7cm} | |
43 | \begin{twocollist}\itemsep=0pt | |
44 | \twocolitem{{\bf EVT\_TASKBAR\_MOVE(func)}}{Process a | |
45 | wxEVT\_TASKBAR\_MOVE event.} | |
46 | \twocolitem{{\bf EVT\_TASKBAR\_LEFT\_DOWN(func)}}{Process a | |
47 | wxEVT\_TASKBAR\_LEFT\_DOWN event.} | |
48 | \twocolitem{{\bf EVT\_TASKBAR\_LEFT\_UP(func)}}{Process a | |
49 | wxEVT\_TASKBAR\_LEFT\_UP event.} | |
50 | \twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_DOWN(func)}}{Process a | |
51 | wxEVT\_TASKBAR\_RIGHT\_DOWN event.} | |
52 | \twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_UP(func)}}{Process a | |
53 | wxEVT\_TASKBAR\_RIGHT\_UP event.} | |
54 | \twocolitem{{\bf EVT\_TASKBAR\_LEFT\_DCLICK(func)}}{Process a | |
55 | wxEVT\_TASKBAR\_LEFT\_DCLICK event.} | |
56 | \twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_DCLICK(func)}}{Process a | |
57 | wxEVT\_TASKBAR\_RIGHT\_DCLICK event.} | |
58 | \twocolitem{{\bf EVT\_TASKBAR\_CLICK(func)}}{This is a synonym for either | |
59 | EVT\_TASKBAR\_RIGHT\_DOWN or UP depending on the platform, use this event macro | |
60 | to catch the event which should result in the menu being displayed on the | |
61 | current platform.} | |
62 | \end{twocollist}% | |
63 | ||
64 | \latexignore{\rtfignore{\wxheading{Members}}} | |
65 | ||
66 | ||
67 | \membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconctor} | |
68 | ||
69 | \func{}{wxTaskBarIcon}{\void} | |
70 | ||
71 | Default constructor. | |
72 | ||
73 | ||
74 | \membersection{wxTaskBarIcon::\destruct{wxTaskBarIcon}}\label{wxtaskbaricondtor} | |
75 | ||
76 | \func{}{\destruct{wxTaskBarIcon}}{\void} | |
77 | ||
78 | Destroys the wxTaskBarIcon object, removing the icon if not already removed. | |
79 | ||
80 | ||
81 | \membersection{wxTaskBarIcon::CreatePopupMenu}\label{wxtaskbariconcreatepopupmenu} | |
82 | ||
83 | \func{virtual wxMenu*}{CreatePopupMenu}{\void} | |
84 | ||
85 | This method is called by the library when the user requests popup menu | |
86 | (on Windows and Unix platforms, this is when the user right-clicks the icon). | |
87 | Override this function in order to provide popup menu associated with the icon. | |
88 | ||
89 | If CreatePopupMenu returns NULL (this happens by default), | |
90 | no menu is shown, otherwise the menu is | |
91 | displayed and then deleted by the library as soon as the user dismisses it. | |
92 | The events can be handled by a class derived from wxTaskBarIcon. | |
93 | ||
94 | ||
95 | \membersection{wxTaskBarIcon::Destroy}\label{wxtaskbaricondestroy} | |
96 | ||
97 | \func{void}{Destroy}{\void} | |
98 | ||
99 | This method is similar to \helpref{wxWindow::Destroy}{wxwindowdestroy} and can | |
100 | be used to schedule the task bar icon object for the delayed destruction: it | |
101 | will be deleted during the next event loop iteration, which allows the task bar | |
102 | icon to process any pending events for it before being destroyed. | |
103 | ||
104 | ||
105 | \membersection{wxTaskBarIcon::IsIconInstalled}\label{wxtaskbariconisiconinstalled} | |
106 | ||
107 | \func{bool}{IsIconInstalled}{\void} | |
108 | ||
109 | Returns true if \helpref{SetIcon}{wxtaskbariconseticon} was called with no subsequent \helpref{RemoveIcon}{wxtaskbariconremoveicon}. | |
110 | ||
111 | ||
112 | \membersection{wxTaskBarIcon::IsOk}\label{wxtaskbariconisok} | |
113 | ||
114 | \func{bool}{IsOk}{\void} | |
115 | ||
116 | Returns true if the object initialized successfully. | |
117 | ||
118 | ||
119 | \membersection{wxTaskBarIcon::PopupMenu}\label{wxtaskbariconpopupmenu} | |
120 | ||
121 | \func{bool}{PopupMenu}{\param{wxMenu*}{ menu}} | |
122 | ||
123 | Pops up a menu at the current mouse position. The events can be handled by | |
124 | a class derived from wxTaskBarIcon. | |
125 | ||
126 | \wxheading{Note} | |
127 | ||
128 | It is recommended to override | |
129 | \helpref{CreatePopupMenu}{wxtaskbariconcreatepopupmenu} | |
130 | callback instead of calling this method from event handler, because some | |
131 | ports (e.g. wxCocoa) may not implement PopupMenu and mouse click events at all. | |
132 | ||
133 | ||
134 | \membersection{wxTaskBarIcon::RemoveIcon}\label{wxtaskbariconremoveicon} | |
135 | ||
136 | \func{bool}{RemoveIcon}{\void} | |
137 | ||
138 | Removes the icon previously set with \helpref{SetIcon}{wxtaskbariconseticon}. | |
139 | ||
140 | ||
141 | \membersection{wxTaskBarIcon::SetIcon}\label{wxtaskbariconseticon} | |
142 | ||
143 | \func{bool}{SetIcon}{\param{const wxIcon\&}{ icon}, \param{const wxString\& }{tooltip}} | |
144 | ||
145 | Sets the icon, and optional tooltip text. | |
146 | ||
147 |