From: Václav Slavík Date: Thu, 14 Feb 2008 13:40:47 +0000 (+0000) Subject: added wxWindow::Set/GetMin/MaxClientSize convenience functions X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3b96ea1ac54b735c3a018980cd2ac652c30aa129 added wxWindow::Set/GetMin/MaxClientSize convenience functions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex index ed85d9d0de..41cc692700 100644 --- a/docs/latex/wx/window.tex +++ b/docs/latex/wx/window.tex @@ -1160,12 +1160,33 @@ the button text. This function can be useful for meta-programs (such as testing tools or special-needs access programs) which need to identify windows by name. + +\membersection{wxWindow::GetMaxClientSize}\label{wxwindowgetmaxclientsize} + +\constfunc{wxSize}{GetMaxClientSize}{\void} + +Returns the maximum size of window's client area. +This is an indication to the sizer layout mechanism that this is the maximum +possible size as well as the upper bound on window's size settable using +\helpref{SetClientSize}{wxwindowsetclientsize}. + +\wxheading{See also} + +\helpref{wxWindow::GetMaxSize}{wxwindowgetmaxsize} + + \membersection{wxWindow::GetMaxSize}\label{wxwindowgetmaxsize} \constfunc{wxSize}{GetMaxSize}{\void} -Returns the maximum size of the window, an indication to the sizer layout mechanism -that this is the maximum possible size. +Returns the maximum size of the window. This is an indication to the sizer +layout mechanism that this is the maximum possible size as well as the upper +bound on window's size settable using \helpref{SetSize}{wxwindowsetsize}. + +\wxheading{See also} + +\helpref{wxWindow::GetMaxClientSize}{wxwindowgetmaxclientsize} + \membersection{wxWindow::GetMinSize}\label{wxwindowgetminsize} @@ -1176,6 +1197,26 @@ that this is the minimum required size. It normally just returns the value set by \helpref{SetMinSize}{wxwindowsetminsize}, but it can be overridden to do the calculation on demand. +\wxheading{See also} + +\helpref{wxWindow::GetMinClientSize}{wxwindowgetminclientsize} + + +\membersection{wxWindow::GetMinClientSize}\label{wxwindowgetminclientsize} + +\constfunc{virtual wxSize}{GetMinClientSize}{\void} + +Returns the minimum size of window's client area, an indication to the sizer +layout mechanism that this is the minimum required size of its client area. It +normally just returns the value set by +\helpref{SetMinClientSize}{wxwindowsetminclientsize}, but it can be overridden +to do the calculation on demand. + +\wxheading{See also} + +\helpref{wxWindow::GetMinSize}{wxwindowgetminsize} + + \membersection{wxWindow::GetName}\label{wxwindowgetname} \constfunc{virtual wxString }{GetName}{\void} @@ -3299,6 +3340,23 @@ Sets the window's label. Sets the maximum size of the window, to indicate to the sizer layout mechanism that this is the maximum possible size. +\wxheading{See also} + +\helpref{wxWindow::SetMaxClientSize}{wxwindowsetmaxclientsize} + + +\membersection{wxWindow::SetMaxClientSize}\label{wxwindowsetmaxclientsize} + +\func{void}{SetMaxClientSize}{\param{const wxSize\& }{size}} + +Sets the maximum \emph{client} size of the window, to indicate to the sizer +layout mechanism that this is the maximum possible size of its client area. + +\wxheading{See also} + +\helpref{wxWindow::SetMaxSize}{wxwindowsetmaxsize} + + \membersection{wxWindow::SetMinSize}\label{wxwindowsetminsize} \func{void}{SetMinSize}{\param{const wxSize\& }{size}} @@ -3308,6 +3366,25 @@ that this is the minimum required size. You may need to call this if you change the window size after construction and before adding to its parent sizer. +\wxheading{See also} + +\helpref{wxWindow::SetMinClientSize}{wxwindowsetminclientsize} + + +\membersection{wxWindow::SetMinClientSize}\label{wxwindowsetminclientsize} + +\func{void}{SetMinClientSize}{\param{const wxSize\& }{size}} + +Sets the minimum \emph{client} size of the window, to indicate to the sizer +layout mechanism that this is the minimum required size of window's client +area. You may need to call this if you change the window size after +construction and before adding to its parent sizer. + +\wxheading{See also} + +\helpref{wxWindow::SetMinSize}{wxwindowsetminsize} + + \membersection{wxWindow::SetName}\label{wxwindowsetname} \func{virtual void}{SetName}{\param{const wxString\& }{name}} diff --git a/include/wx/window.h b/include/wx/window.h index 218e2ce79e..33d33ce50d 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -449,12 +449,24 @@ public: virtual void SetMinSize(const wxSize& minSize) { m_minWidth = minSize.x; m_minHeight = minSize.y; } virtual void SetMaxSize(const wxSize& maxSize) { m_maxWidth = maxSize.x; m_maxHeight = maxSize.y; } + // Like Set*Size, but for client, not window, size + virtual void SetMinClientSize(const wxSize& size) + { SetMinSize(ClientToWindowSize(size)); } + virtual void SetMaxClientSize(const wxSize& size) + { SetMaxSize(ClientToWindowSize(size)); } + // Override these methods to impose restrictions on min/max size. // The easier way is to call SetMinSize() and SetMaxSize() which // will have the same effect. Doing both is non-sense. virtual wxSize GetMinSize() const { return wxSize(m_minWidth, m_minHeight); } virtual wxSize GetMaxSize() const { return wxSize(m_maxWidth, m_maxHeight); } + // Like Get*Size, but for client, not window, size + virtual wxSize GetMinClientSize() const + { return WindowToClientSize(GetMinSize()); } + virtual wxSize GetMaxClientSize() const + { return WindowToClientSize(GetMaxSize()); } + // Get the min and max values one by one int GetMinWidth() const { return GetMinSize().x; } int GetMinHeight() const { return GetMinSize().y; }