X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/18aeafcbc0dd1af086ba93b95187eb5c5c0bd2ac..3694bb76c11d1ed1518f20a42f8907c948e190bd:/docs/latex/wx/taskbar.tex diff --git a/docs/latex/wx/taskbar.tex b/docs/latex/wx/taskbar.tex index 2e63b1e38a..073247e548 100644 --- a/docs/latex/wx/taskbar.tex +++ b/docs/latex/wx/taskbar.tex @@ -1,9 +1,22 @@ \section{\class{wxTaskBarIcon}}\label{wxtaskbaricon} -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 for Windows 95/NT and for -X Window System ports (wxGTK, wxMotif, wxX11), assuming the window manager supports KDE and GNOME 1.2 -systray methods. +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. + +\wxheading{X Window System Note} + +Under X Window System, the window manager must support either +the \urlref{System Tray Protocol by freedesktop.org}{http://freedesktop.org/Standards/systemtray-spec} +(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. + \wxheading{Derived from} @@ -14,10 +27,17 @@ systray methods. +\wxheading{Library} + +\helpref{wxAdv}{librarieslist} + \wxheading{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. +functions that take a wxTaskBarIconEvent argument. Note that not all ports are +required to send these events and so it's better to override +\helpref{CreatePopupMenu}{wxtaskbariconcreatepopupmenu} if all that +the application does is that it shows a popup menu in reaction to mouse click. \twocolwidtha{7cm} \begin{twocollist}\itemsep=0pt @@ -35,34 +55,67 @@ wxEVT\_TASKBAR\_RIGHT\_UP event.} wxEVT\_TASKBAR\_LEFT\_DCLICK event.} \twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_DCLICK(func)}}{Process a wxEVT\_TASKBAR\_RIGHT\_DCLICK event.} +\twocolitem{{\bf EVT\_TASKBAR\_CLICK(func)}}{This is a synonym for either +EVT\_TASKBAR\_RIGHT\_DOWN or UP depending on the platform, use this event macro +to catch the event which should result in the menu being displayed on the +current platform.} \end{twocollist}% \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconconstr} + +\membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconctor} \func{}{wxTaskBarIcon}{\void} Default constructor. -\membersection{wxTaskBarIcon::\destruct{wxTaskBarIcon}} + +\membersection{wxTaskBarIcon::\destruct{wxTaskBarIcon}}\label{wxtaskbaricondtor} \func{}{\destruct{wxTaskBarIcon}}{\void} Destroys the wxTaskBarIcon object, removing the icon if not already removed. + +\membersection{wxTaskBarIcon::CreatePopupMenu}\label{wxtaskbariconcreatepopupmenu} + +\func{virtual wxMenu*}{CreatePopupMenu}{\void} + +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 CreatePopupMenu 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. + + +\membersection{wxTaskBarIcon::Destroy}\label{wxtaskbaricondestroy} + +\func{void}{Destroy}{\void} + +This method is similar to \helpref{wxWindow::Destroy}{wxwindowdestroy} and can +be used to schedule the task bar icon object for the delayed destruction: it +will be deleted during the next event loop iteration, which allows the task bar +icon to process any pending events for it before being destroyed. + + \membersection{wxTaskBarIcon::IsIconInstalled}\label{wxtaskbariconisiconinstalled} \func{bool}{IsIconInstalled}{\void} Returns true if \helpref{SetIcon}{wxtaskbariconseticon} was called with no subsequent \helpref{RemoveIcon}{wxtaskbariconremoveicon}. + \membersection{wxTaskBarIcon::IsOk}\label{wxtaskbariconisok} \func{bool}{IsOk}{\void} Returns true if the object initialized successfully. + \membersection{wxTaskBarIcon::PopupMenu}\label{wxtaskbariconpopupmenu} \func{bool}{PopupMenu}{\param{wxMenu*}{ menu}} @@ -70,12 +123,21 @@ Returns true if the object initialized successfully. Pops up a menu at the current mouse position. The events can be handled by a class derived from wxTaskBarIcon. +\wxheading{Note} + +It is recommended to override +\helpref{CreatePopupMenu}{wxtaskbariconcreatepopupmenu} +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. + + \membersection{wxTaskBarIcon::RemoveIcon}\label{wxtaskbariconremoveicon} \func{bool}{RemoveIcon}{\void} Removes the icon previously set with \helpref{SetIcon}{wxtaskbariconseticon}. + \membersection{wxTaskBarIcon::SetIcon}\label{wxtaskbariconseticon} \func{bool}{SetIcon}{\param{const wxIcon\&}{ icon}, \param{const wxString\& }{tooltip}}