X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05b0355af838c4407bf977923d82f07abc098d91..9e9574fe45b176ee74bba8fad7574cf9906145d1:/interface/wx/toplevel.h diff --git a/interface/wx/toplevel.h b/interface/wx/toplevel.h index 7452c04083..27775eb513 100644 --- a/interface/wx/toplevel.h +++ b/interface/wx/toplevel.h @@ -2,7 +2,6 @@ // Name: toplevel.h // Purpose: interface of wxTopLevelWindow // Author: wxWidgets team -// RCS-ID: $Id$ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -34,6 +33,14 @@ enum wxFULLSCREEN_NOCAPTION }; +#define wxDEFAULT_FRAME_STYLE (wxSYSTEM_MENU | \ + wxRESIZE_BORDER | \ + wxMINIMIZE_BOX | \ + wxMAXIMIZE_BOX | \ + wxCLOSE_BOX | \ + wxCAPTION | \ + wxCLIP_CHILDREN) + /** @class wxTopLevelWindow @@ -46,7 +53,7 @@ enum internal top level window list. @beginEventEmissionTable - @event{EVT_ACTIVATE(id, func)} + @event{EVT_MAXIMIZE(id, func)} Process a @c wxEVT_MAXIMIZE event. See wxMaximizeEvent. @event{EVT_MOVE(func)} Process a @c wxEVT_MOVE event, which is generated when a window is moved. @@ -68,7 +75,7 @@ enum @see wxDialog, wxFrame */ -class wxTopLevelWindow : public wxWindow +class wxTopLevelWindow : public wxNonOwnedWindow { public: /** @@ -117,7 +124,7 @@ public: /** A synonym for CentreOnScreen(). */ - void CenterOnScreen(int direction); + void CenterOnScreen(int direction = wxBOTH); /** Centres the window on screen. @@ -206,7 +213,7 @@ public: virtual void Iconize(bool iconize = true); /** - Returns @true if this window is currently active, i.e. if the user is + Returns @true if this window is currently active, i.e.\ if the user is currently working with it. */ virtual bool IsActive(); @@ -262,6 +269,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_MENU + 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 +405,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 @@ -445,7 +470,7 @@ public: @param alpha Determines how opaque or transparent the window will be, if the - platform supports the opreration. A value of 0 sets the window to be + platform supports the operation. A value of 0 sets the window to be fully transparent, and a value of 255 sets the window to be fully opaque. */ @@ -477,6 +502,27 @@ public: */ virtual bool OSXIsModified() const; + /** + Sets the file name represented by this wxTopLevelWindow. + + Under OS X, this file name is used to set the "proxy icon", which + appears in the window title bar near its title, corresponding to this + file name. Under other platforms it currently doesn't do anything but + it is harmless to call it now and it might be implemented to do + something useful in the future so you're encouraged to use it for any + window representing a file-based document. + + @since 2.9.4 + */ + virtual void SetRepresentedFilename(const wxString& filename); + + /** + Show the wxTopLevelWindow, but do not give it keyboard focus. This can be + used for pop up or notification windows that should not steal the current + focus. + */ + virtual void ShowWithoutActivating(); + /** Depending on the value of @a show parameter the window is either shown full screen or restored to its normal state. @a style is a bit list