]> git.saurik.com Git - wxWidgets.git/commitdiff
Return SetSizeHints() in wxWindow to its former
authorRobert Roebling <robert@roebling.de>
Tue, 31 Oct 2006 23:14:28 +0000 (23:14 +0000)
committerRobert Roebling <robert@roebling.de>
Tue, 31 Oct 2006 23:14:28 +0000 (23:14 +0000)
    life but still recommend to use SetMinSize()
    and SetMaxSize(). I've already purged wxWidgets
    of any use of this function internally, but
    others may use it still.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/window.tex
include/wx/window.h
src/common/wincmn.cpp

index 1a2965ae216b6ff1897e1757955fa902ee4bcf7a..7b639b37a03c583ff002433b473d643a60bf40ae 100644 (file)
@@ -3299,8 +3299,13 @@ implements the following methods:\par
 
 \membersection{wxWindow::SetSizeHints}\label{wxwindowsetsizehints}
 
-This method does nothing for a normal wxWindow and is only kept
-for backwards compatibility. The actual implementation is in
+Use of this function for windows which are not toplevel windows
+(such as wxDialog or wxFrame) is discouraged. Please use 
+\helpref{SetMinSize}{wxwindowsetminsize} and \helpref{SetMaxSize}{wxwindowsetmaxsize}
+instead.
+
+\wxheading{See also}
+
 \helpref{wxTopLevelWindow::SetSizeHints}{wxtoplevelwindowsetsizehints}.
 
 
index 3d39594bc41554c7b11c7b05ac9e609ef26771fb..ee574b4482ee75d950bbdc256f1734dddc8c1532 100644 (file)
@@ -383,8 +383,11 @@ public:
     virtual void FitInside();
 
 
-        // Methods for setting size hints. This is only used
-        // for toplevel windows.
+        // SetSizeHints is actually for setting the size hints
+        // for the wxTLW for a Window Manager - hence the name -
+        // and it is therefore overridden in wxTLW to do that.
+        // In wxWindow(Base), it has (unfortunately) been abused
+        // to mean the same as SetMinSize() and SetMaxSize().
         
     virtual void SetSizeHints( int minW, int minH,
                                int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
@@ -396,11 +399,9 @@ public:
                        const wxSize& incSize=wxDefaultSize)
     { DoSetSizeHints(minSize.x, minSize.y, maxSize.x, maxSize.y, incSize.x, incSize.y); }
 
-    virtual void DoSetSizeHints( int WXUNUSED(minW), int WXUNUSED(minH),
-                                 int WXUNUSED(maxW), int WXUNUSED(maxH),
-                                 int WXUNUSED(incW), int WXUNUSED(incH) )
-    {
-    }
+    virtual void DoSetSizeHints( int minW, int minH,
+                                 int maxW, int maxH,
+                                 int incW, int incH );
 
         // Methods for setting virtual size hints
         // FIXME: What are virtual size hints?
index e37d4f0897bd9473e87e2b1c8c5b047c0c48de16..66570d78824bfb18349ab0e5b0b049534ae99223 100644 (file)
@@ -660,6 +660,21 @@ void wxWindowBase::DoSetWindowVariant( wxWindowVariant variant )
     SetFont(font);
 }
 
+void wxWindowBase::DoSetSizeHints( int minW, int minH,
+                                   int maxW, int maxH,
+                                   int incW, int incH )
+{
+    wxCHECK_RET( (minW == wxDefaultCoord || maxW == wxDefaultCoord || minW <= maxW) &&
+                    (minH == wxDefaultCoord || maxH == wxDefaultCoord || minH <= maxH),
+                 _T("min width/height must be less than max width/height!") );
+
+    m_minWidth = minW;
+    m_maxWidth = maxW;
+    m_minHeight = minH;
+    m_maxHeight = maxH;
+}
+
+
 void wxWindowBase::SetVirtualSizeHints( int minW, int minH,
                                         int maxW, int maxH )
 {