]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/toplevel.h
Implement wxComboBox::Popup() and Dismiss() for wxOSX/Cocoa.
[wxWidgets.git] / interface / wx / toplevel.h
index 55be716a7d228bc696e0213b7782eb12a8fe4413..813925bf278dcf495fce1c0bc45701ba988e2aae 100644 (file)
@@ -68,7 +68,7 @@ enum
 
     @see wxDialog, wxFrame
 */
-class wxTopLevelWindow : public wxWindow
+class wxTopLevelWindow : public wxNonOwnedWindow
 {
 public:
     /**
@@ -262,6 +262,33 @@ public:
     */
     virtual void Maximize(bool maximize = true);
 
+    /**
+        MSW-specific function for accessing the system menu.
+
+        Returns a wxMenu pointer representing the system menu of the window
+        under MSW. The returned wxMenu may be used, if non-@c NULL, to add
+        extra items to the system menu. The usual @c wxEVT_COMMAND_MENU_SELECTED
+        events (that can be processed using @c EVT_MENU event table macro) will
+        then be generated for them. All the other wxMenu methods may be used as
+        well but notice that they won't allow you to access any standard system
+        menu items (e.g. they can't be deleted or modified in any way
+        currently).
+
+        Notice that because of the native system limitations the identifiers of
+        the items added to the system menu must be multiples of 16, otherwise
+        no events will be generated for them.
+
+        The returned pointer must @em not be deleted, it is owned by the window
+        and will be only deleted when the window itself is destroyed.
+
+        This function is not available in the other ports by design, any
+        occurrences of it in the portable code must be guarded by
+        @code #ifdef __WXMSW__ @endcode preprocessor guards.
+
+        @since 2.9.3
+     */
+    wxMenu *MSWGetSystemMenu() const;
+
     /**
         Use a system-dependent way to attract users attention to the window when
         it is in background.
@@ -371,15 +398,6 @@ public:
                       const wxString& label = wxEmptyString,
                       wxMenu* subMenu = NULL);
 
-    /**
-        If the platform supports it, sets the shape of the window to that
-        depicted by @a region. The system will not display or respond to any
-        mouse event for the pixels that lie outside of the region. To reset the
-        window to the normal rectangular shape simply call SetShape() again with
-        an empty wxRegion. Returns @true if the operation is successful.
-    */
-    virtual bool SetShape(const wxRegion& region);
-
     /**
         Allows specification of minimum and maximum window sizes, and window
         size increments. If a pair of values is not set (or set to -1), no