* Implemented BestSize cache

* Added calls to InvalidateBestSize where things affecting BestSize
  are modified.  There are probably several other places where this
  still needs to be done...

* Added wxWindowBase::GetBestFittingSize that will merge the BestSize
  into the MinSize, (if any) and return the result.

* SetBestFittingSize will now only set the MinSize to the value that
  was passed to it, without merging in the BestSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2004-06-24 20:09:45 +00:00
parent cf82b73a0a
commit 9f88452895
55 changed files with 260 additions and 105 deletions

View File

@@ -701,6 +701,19 @@ Returns the background colour of the window.
\helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour}
\membersection{wxWindow::GetBestFittingSize}\label{wxwindowgetbestfittingsize}
\constfunc{wxSize}{GetBestFittingSize}{\void}
Merges the window's best size into the min size and returns the result.
\wxheading{See also}
\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
\helpref{wxWindow::SetBestFittingSize}{wxwindowsetbestfittingsize},\rtfsp
\helpref{wxWindow::SetSizeHints}{wxwindowsetsizehints}
\membersection{wxWindow::GetBestSize}\label{wxwindowgetbestsize}
\constfunc{wxSize}{GetBestSize}{\void}
@@ -2390,18 +2403,23 @@ applications on the system.
\helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
\helpref{wxEraseEvent}{wxeraseevent}
\membersection{wxWindow::SetBestFittingSize}\label{wxwindowsetbestfittingsize}
\func{void}{SetBestFittingSize}{\param{const wxSize& }{size = wxDefaultSize}}
A {\it smart} SetSize that will fill in default size components with the
window's {\it best} size values. Also set's the minsize for use with
sizers.
window's {\it best} size values. Also sets the window's minsize to
the value passed in for use with sizers. This means that if a full or
partial size is passed to this function then the sizers will use that
size instead of the results of GetBestSize to determine the minimum
needs of the window for layout.
\wxheading{See also}
\helpref{wxWindow::SetSize}{wxwindowsetsize}
\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize}
\helpref{wxWindow::SetSize}{wxwindowsetsize},\rtfsp
\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
\helpref{wxWindow::GetBestFittingSize}{wxwindowgetbestfittingsize},\rtfsp
\helpref{wxWindow::SetSizeHints}{wxwindowsetsizehints}