]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/taskbar.h
synchronize GTK2 minimum version in docs
[wxWidgets.git] / interface / wx / taskbar.h
index 34aaf946fb5a0a8e5cb06c3e9411dcb149007a1a..36096618a4ad337a18788773f3ad6105ea204305 100644 (file)
@@ -3,9 +3,42 @@
 // Purpose:     interface of wxTaskBarIcon
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxTaskBarIcon
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+   On OSX Cocoa the taskbar icon can be in the doc or in the status area.
+   This enumeration can be used to select which will be instantiated.
+*/
+enum wxTaskBarIconType
+{
+    wxTBI_DOCK,
+    wxTBI_CUSTOM_STATUSITEM,
+    wxTBI_DEFAULT_TYPE
+};
+
+
+
+/**
+    @class wxTaskBarIconEvent
+
+    The event class used by wxTaskBarIcon.
+    For a list of the event macros meant to be used with wxTaskBarIconEvent,
+    please look at wxTaskBarIcon description.
+
+    @library{wxadv}
+    @category{events}
+*/
+class wxTaskBarIconEvent : public wxEvent
+{
+public:
+    /**
+        Constructor.
+    */
+    wxTaskBarIconEvent(wxEventType evtType, wxTaskBarIcon *tbIcon);
+};
+
+
 /**
     @class wxTaskBarIcon
 
 /**
     @class wxTaskBarIcon
 
@@ -13,7 +46,9 @@
     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.
 
     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.
 
+
     @section taskbaricon_xnote X Window System Note
     @section taskbaricon_xnote X Window System Note
+
     Under X Window System, the window manager must support either the
     "System Tray Protocol" (see http://freedesktop.org/wiki/Specifications/systemtray-spec)
     by freedesktop.org (WMs used by modern desktop environments such as GNOME >= 2,
     Under X Window System, the window manager must support either the
     "System Tray Protocol" (see http://freedesktop.org/wiki/Specifications/systemtray-spec)
     by freedesktop.org (WMs used by modern desktop environments such as GNOME >= 2,
     The user should be required to explicitly enable the taskbar icon on Unix,
     it shouldn't be on by default.
 
     The user should be required to explicitly enable the taskbar icon on Unix,
     it shouldn't be on by default.
 
-    @beginEventTable{wxTaskBarIconEvent}
+    @beginEventEmissionTable{wxTaskBarIconEvent}
     Note that not all ports are required to send these events and so it's better
     to override wxTaskBarIcon::CreatePopupMenu() if all that the application does
     is that it shows a popup menu in reaction to mouse click.
     @event{EVT_TASKBAR_MOVE(func)}
     Note that not all ports are required to send these events and so it's better
     to override wxTaskBarIcon::CreatePopupMenu() if all that the application does
     is that it shows a popup menu in reaction to mouse click.
     @event{EVT_TASKBAR_MOVE(func)}
-        Process a wxEVT_TASKBAR_MOVE event.
+        Process a @c wxEVT_TASKBAR_MOVE event.
     @event{EVT_TASKBAR_LEFT_DOWN(func)}
     @event{EVT_TASKBAR_LEFT_DOWN(func)}
-        Process a wxEVT_TASKBAR_LEFT_DOWN event.
+        Process a @c wxEVT_TASKBAR_LEFT_DOWN event.
     @event{EVT_TASKBAR_LEFT_UP(func)}
     @event{EVT_TASKBAR_LEFT_UP(func)}
-        Process a wxEVT_TASKBAR_LEFT_UP event.
+        Process a @c wxEVT_TASKBAR_LEFT_UP event.
     @event{EVT_TASKBAR_RIGHT_DOWN(func)}
     @event{EVT_TASKBAR_RIGHT_DOWN(func)}
-        Process a wxEVT_TASKBAR_RIGHT_DOWN event.
+        Process a @c wxEVT_TASKBAR_RIGHT_DOWN event.
     @event{EVT_TASKBAR_RIGHT_UP(func)}
     @event{EVT_TASKBAR_RIGHT_UP(func)}
-        Process a wxEVT_TASKBAR_RIGHT_UP event.
+        Process a @c wxEVT_TASKBAR_RIGHT_UP event.
     @event{EVT_TASKBAR_LEFT_DCLICK(func)}
     @event{EVT_TASKBAR_LEFT_DCLICK(func)}
-        Process a wxEVT_TASKBAR_LEFT_DCLICK event.
+        Process a @c wxEVT_TASKBAR_LEFT_DCLICK event.
     @event{EVT_TASKBAR_RIGHT_DCLICK(func)}
     @event{EVT_TASKBAR_RIGHT_DCLICK(func)}
-        Process a wxEVT_TASKBAR_RIGHT_DCLICK event.
+        Process a @c wxEVT_TASKBAR_RIGHT_DCLICK event.
     @event{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
     @event{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
@@ -57,28 +92,15 @@ class wxTaskBarIcon : public wxEvtHandler
 {
 public:
     /**
 {
 public:
     /**
-        Default constructor.
+        Default constructor.  The iconType is only applicable on wxOSX_Cocoa.
     */
     */
-    wxTaskBarIcon();
+    wxTaskBarIcon(wxTaskBarIconType iconType = wxTBI_DEFAULT_TYPE);
 
     /**
         Destroys the wxTaskBarIcon object, removing the icon if not already removed.
     */
     virtual ~wxTaskBarIcon();
 
 
     /**
         Destroys the wxTaskBarIcon object, removing the icon if not already removed.
     */
     virtual ~wxTaskBarIcon();
 
-    /**
-        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.
-    */
-    virtual wxMenu* CreatePopupMenu();
-
     /**
         This method is similar to wxWindow::Destroy and can be used to schedule
         the task bar icon object for the delayed destruction: it will be deleted
     /**
         This method is similar to wxWindow::Destroy and can be used to schedule
         the task bar icon object for the delayed destruction: it will be deleted
@@ -116,7 +138,8 @@ public:
     /**
         Sets the icon, and optional tooltip text.
     */
     /**
         Sets the icon, and optional tooltip text.
     */
-    bool SetIcon(const wxIcon& icon, const wxString& tooltip);
+    virtual bool SetIcon(const wxIcon& icon,
+                         const wxString& tooltip = wxEmptyString);
 
     /**
         Returns true if system tray is available in the desktop environment the
 
     /**
         Returns true if system tray is available in the desktop environment the
@@ -140,5 +163,31 @@ public:
         @since 2.9.0
     */
     static bool IsAvailable();
         @since 2.9.0
     */
     static bool IsAvailable();
+
+protected:
+
+    /**
+        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.
+    */
+    virtual wxMenu* CreatePopupMenu();
 };
 
 };
 
+
+wxEventType wxEVT_TASKBAR_MOVE;
+wxEventType wxEVT_TASKBAR_LEFT_DOWN;
+wxEventType wxEVT_TASKBAR_LEFT_UP;
+wxEventType wxEVT_TASKBAR_RIGHT_DOWN;
+wxEventType wxEVT_TASKBAR_RIGHT_UP;
+wxEventType wxEVT_TASKBAR_LEFT_DCLICK;
+wxEventType wxEVT_TASKBAR_RIGHT_DCLICK;
+wxEventType wxEVT_TASKBAR_CLICK;
+wxEventType wxEVT_TASKBAR_BALLOON_TIMEOUT;
+wxEventType wxEVT_TASKBAR_BALLOON_CLICK;