added wxTaskBarIcon::Destroy()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-08-14 22:43:39 +00:00
parent 03859c918c
commit 39f0cb547f
4 changed files with 30 additions and 0 deletions

View File

@@ -154,6 +154,7 @@ All (GUI):
- Show standard options in wxCmdLineParser usage message (Francesco Montorsi).
- Added wxRect::operator+ (union) and * (intersection) (bdonner).
- Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland).
- Added wxTaskBarIcon::Destroy()
wxGTK:

View File

@@ -63,18 +63,21 @@ current platform.}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconctor}
\func{}{wxTaskBarIcon}{\void}
Default constructor.
\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}
@@ -88,18 +91,31 @@ 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}}
@@ -114,12 +130,14 @@ It is recommended to override
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}}

View File

@@ -35,6 +35,9 @@ public:
virtual bool RemoveIcon() = 0;
virtual bool PopupMenu(wxMenu *menu) = 0;
// delayed destruction (similarly to wxWindow::Destroy())
void Destroy();
protected:
// creates menu to be displayed when user clicks on the icon
virtual wxMenu *CreatePopupMenu() { return NULL; }

View File

@@ -20,9 +20,12 @@
#ifndef WX_PRECOMP
#include "wx/app.h"
#include "wx/list.h"
#include "wx/menu.h"
#endif
extern WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
// DLL options compatibility check:
WX_CHECK_BUILD_OPTIONS("wxAdvanced")
@@ -51,4 +54,9 @@ void wxTaskBarIconBase::OnRightButtonDown(wxTaskBarIconEvent& WXUNUSED(event))
}
}
void wxTaskBarIconBase::Destroy()
{
wxPendingDelete.Append(this);
}
#endif // wxUSE_TASKBARICON