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). - Show standard options in wxCmdLineParser usage message (Francesco Montorsi).
- Added wxRect::operator+ (union) and * (intersection) (bdonner). - Added wxRect::operator+ (union) and * (intersection) (bdonner).
- Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland). - Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland).
- Added wxTaskBarIcon::Destroy()
wxGTK: wxGTK:

View File

@@ -63,18 +63,21 @@ current platform.}
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconctor} \membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconctor}
\func{}{wxTaskBarIcon}{\void} \func{}{wxTaskBarIcon}{\void}
Default constructor. Default constructor.
\membersection{wxTaskBarIcon::\destruct{wxTaskBarIcon}}\label{wxtaskbaricondtor} \membersection{wxTaskBarIcon::\destruct{wxTaskBarIcon}}\label{wxtaskbaricondtor}
\func{}{\destruct{wxTaskBarIcon}}{\void} \func{}{\destruct{wxTaskBarIcon}}{\void}
Destroys the wxTaskBarIcon object, removing the icon if not already removed. Destroys the wxTaskBarIcon object, removing the icon if not already removed.
\membersection{wxTaskBarIcon::CreatePopupMenu}\label{wxtaskbariconcreatepopupmenu} \membersection{wxTaskBarIcon::CreatePopupMenu}\label{wxtaskbariconcreatepopupmenu}
\func{virtual wxMenu*}{CreatePopupMenu}{\void} \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. 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. 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} \membersection{wxTaskBarIcon::IsIconInstalled}\label{wxtaskbariconisiconinstalled}
\func{bool}{IsIconInstalled}{\void} \func{bool}{IsIconInstalled}{\void}
Returns true if \helpref{SetIcon}{wxtaskbariconseticon} was called with no subsequent \helpref{RemoveIcon}{wxtaskbariconremoveicon}. Returns true if \helpref{SetIcon}{wxtaskbariconseticon} was called with no subsequent \helpref{RemoveIcon}{wxtaskbariconremoveicon}.
\membersection{wxTaskBarIcon::IsOk}\label{wxtaskbariconisok} \membersection{wxTaskBarIcon::IsOk}\label{wxtaskbariconisok}
\func{bool}{IsOk}{\void} \func{bool}{IsOk}{\void}
Returns true if the object initialized successfully. Returns true if the object initialized successfully.
\membersection{wxTaskBarIcon::PopupMenu}\label{wxtaskbariconpopupmenu} \membersection{wxTaskBarIcon::PopupMenu}\label{wxtaskbariconpopupmenu}
\func{bool}{PopupMenu}{\param{wxMenu*}{ menu}} \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 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. ports (e.g. wxCocoa) may not implement PopupMenu and mouse click events at all.
\membersection{wxTaskBarIcon::RemoveIcon}\label{wxtaskbariconremoveicon} \membersection{wxTaskBarIcon::RemoveIcon}\label{wxtaskbariconremoveicon}
\func{bool}{RemoveIcon}{\void} \func{bool}{RemoveIcon}{\void}
Removes the icon previously set with \helpref{SetIcon}{wxtaskbariconseticon}. Removes the icon previously set with \helpref{SetIcon}{wxtaskbariconseticon}.
\membersection{wxTaskBarIcon::SetIcon}\label{wxtaskbariconseticon} \membersection{wxTaskBarIcon::SetIcon}\label{wxtaskbariconseticon}
\func{bool}{SetIcon}{\param{const wxIcon\&}{ icon}, \param{const wxString\& }{tooltip}} \func{bool}{SetIcon}{\param{const wxIcon\&}{ icon}, \param{const wxString\& }{tooltip}}

View File

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

View File

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