X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77bfb902226a65423999d6d5f15d68ea5398587f..730b772b41ad9df76e5226290bb9eb917ea161f0:/interface/wx/toplevel.h diff --git a/interface/wx/toplevel.h b/interface/wx/toplevel.h index 69aa5a6bf1..822e2edc7f 100644 --- a/interface/wx/toplevel.h +++ b/interface/wx/toplevel.h @@ -42,6 +42,9 @@ 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. + @library{wxcore} @category{managedwnd} @@ -50,6 +53,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. @@ -84,7 +123,7 @@ public: (including GTK+) where the window manager may not support this operation and there is no way to find out. */ - bool EnableCloseButton(bool enable = true); + virtual bool EnableCloseButton(bool enable = true); /** Returns a pointer to the button which is the default for this window, or @@ -99,7 +138,7 @@ public: @see GetIcons() */ - const wxIcon GetIcon() const; + wxIcon GetIcon() const; /** Returns all icons associated with the window, there will be none of them @@ -108,14 +147,14 @@ public: @see wxIconBundle */ - const wxIconBundle GetIcons() const; + const wxIconBundle& GetIcons() const; /** Gets a string containing the window title. @see SetTitle() */ - wxString GetTitle() const; + virtual wxString GetTitle() const; /** Unique to the wxWinCE port. Responds to showing/hiding SIP (soft input @@ -133,7 +172,7 @@ public: @see IsIconized(), Maximize(), wxIconizeEvent. */ - void Iconize(bool iconize); + virtual void Iconize(bool iconize = true); /** Returns @true if this window is currently active, i.e. if the user is @@ -153,17 +192,17 @@ public: @see ShowFullScreen() */ - bool IsFullScreen(); + virtual bool IsFullScreen() const; /** Returns @true if the window is iconized. */ - bool IsIconized() const; + virtual bool IsIconized() const; /** Returns @true if the window is maximized. */ - bool IsMaximized() const; + virtual bool IsMaximized() const; /** This method is specific to wxUniversal port. @@ -176,6 +215,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. @@ -184,7 +229,7 @@ public: @see Iconize() */ - void Maximize(bool maximize); + virtual void Maximize(bool maximize = true); /** Use a system-dependent way to attract users attention to the window when @@ -210,7 +255,7 @@ public: @see GetDefaultItem() */ - void SetDefaultItem(wxWindow* win); + wxWindow* SetDefaultItem(wxWindow* win); /** Sets the icon for this window. @@ -222,7 +267,9 @@ public: reference counting, the copy is very quick. It is safe to delete @a icon after calling this function. - @see wxIcon + @note In wxMSW, @a icon must be either 16x16 or 32x32 icon. + + @see wxIcon, SetIcons() */ void SetIcon(const wxIcon& icon); @@ -235,7 +282,10 @@ public: @param icons The icons to associate with this window. - @see wxIconBundle. + @note In wxMSW, @a icons must contain a 16x16 or 32x32 icon, + preferably both. + + @see wxIconBundle */ virtual void SetIcons(const wxIconBundle& icons); @@ -363,7 +413,7 @@ public: fully transparent, and a value of 255 sets the window to be fully opaque. */ - virtual bool SetTransparent(int alpha); + virtual bool SetTransparent(wxByte alpha); /** This virtual function is not meant to be called directly but can be @@ -394,7 +444,7 @@ public: @see IsFullScreen() */ - bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); + virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); /** This method is specific to wxUniversal port.