X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cfbe561401380c3308f92c02b1b34f05d067a18e..0800eb846c702c88f228fcf114755f1e05691596:/interface/wx/toplevel.h?ds=inline diff --git a/interface/wx/toplevel.h b/interface/wx/toplevel.h index 2c30dada11..bb8bdea42f 100644 --- a/interface/wx/toplevel.h +++ b/interface/wx/toplevel.h @@ -3,7 +3,7 @@ // Purpose: interface of wxTopLevelWindow // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -42,6 +42,27 @@ enum directly, but all of its methods are also applicable for the two classes above. + Note that the instances of wxTopLevelWindow are managed by wxWidgets in the + internal top level window list. + + @beginEventEmissionTable + @event{EVT_ACTIVATE(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. + See wxMoveEvent. + @event{EVT_MOVE_START(func)} + Process a @c wxEVT_MOVE_START event, which is generated when the user starts + to move or size a window. wxMSW only. + See wxMoveEvent. + @event{EVT_MOVE_END(func)} + Process a @c wxEVT_MOVE_END event, which is generated when the user stops + moving or sizing a window. wxMSW only. + See wxMoveEvent. + @event{EVT_SHOW(func)} + Process a @c wxEVT_SHOW event. See wxShowEvent. + @endEventTable + @library{wxcore} @category{managedwnd} @@ -50,6 +71,42 @@ enum class wxTopLevelWindow : public wxWindow { public: + /** + Default ctor. + */ + wxTopLevelWindow(); + + /** + Constructor creating the top level window. + */ + wxTopLevelWindow(wxWindow *parent, + wxWindowID winid, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxFrameNameStr); + + /** + Destructor. Remember that wxTopLevelWindows do not get immediately + destroyed when the user (or the app) closes them; they have a + @b delayed destruction. + + See @ref overview_windowdeletion for more info. + */ + virtual ~wxTopLevelWindow(); + + /** + Creates the top level window. + */ + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxFrameNameStr); + /** Returns @true if the platform supports making the window translucent. @@ -93,6 +150,19 @@ public: */ wxWindow* GetDefaultItem() const; + /** + Get the default size for a new top level window. + + This is used internally by wxWidgets on some platforms to determine the + default size for a window created using ::wxDefaultSize so it is not + necessary to use it when creating a wxTopLevelWindow, however it may be + useful if a rough estimation of the window size is needed for some + other reason. + + @since 2.9.2 + */ + static wxSize GetDefaultSize(); + /** Returns the standard icon of the window. The icon will be invalid if it hadn't been previously set by SetIcon(). @@ -176,6 +246,12 @@ public: */ bool IsUsingNativeDecorations() const; + /** + See wxWindow::SetAutoLayout(): when auto layout is on, this function gets + called automatically when the window is resized. + */ + virtual bool Layout(); + /** Maximizes or restores the window. @@ -378,6 +454,23 @@ public: there are any open top level windows. */ virtual bool ShouldPreventAppExit() const; + + /** + This function sets the wxTopLevelWindow's modified state on OS X, + which currently draws a black dot in the wxTopLevelWindow's close button. + On other platforms, this method does nothing. + + @see OSXIsModified() + */ + virtual void OSXSetModified(bool modified); + + /** + Returns the current modified state of the wxTopLevelWindow on OS X. + On other platforms, this method does nothing. + + @see OSXSetModified() + */ + virtual bool OSXIsModified() const; /** Depending on the value of @a show parameter the window is either shown