added wxWindow::Set/GetMin/MaxClientSize convenience functions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2008-02-14 13:40:47 +00:00
parent 9bcb12e716
commit 3b96ea1ac5
2 changed files with 91 additions and 2 deletions

View File

@@ -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}}

View File

@@ -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; }