int width, int height,
                            int sizeFlags = wxSIZE_AUTO);
 
-    // a different API for SetSizeHints
-    virtual void SetMinSize(const wxSize& minSize);
-    virtual void SetMaxSize(const wxSize& maxSize);
-
     // give hints to the Window Manager for how the size
     // of the TLW can be changed by dragging
     virtual void DoSetSizeHints( int minW, int minH,
 
     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
 
 protected:
+
+    // a different API for SetSizeHints
+    virtual void SetMinSize(const wxSize& minSize);
+    virtual void SetMaxSize(const wxSize& maxSize);
+
+    // set size hints for "window manager"
     virtual void DoSetSizeHints( int minW, int minH,
                                  int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
                                  int incW = wxDefaultCoord, int incH = wxDefaultCoord );
 
 // wxTopLevelWindow geometry
 // ----------------------------------------------------------------------------
 
+void wxTopLevelWindowBase::SetMinSize(const wxSize& minSize)
+{
+    SetSizeHints( minSize.x, minSize.y, GetMaxWidth(), GetMaxHeight() );    
+}
+
+void wxTopLevelWindowBase::SetMaxSize(const wxSize& maxSize)
+{
+    SetSizeHints( GetMinWidth(), GetMinHeight(), maxSize.x, maxSize.y );
+}
+
 // set the min/max size of the window
 void wxTopLevelWindowBase::DoSetSizeHints(int minW, int minH,
                                   int maxW, int maxH,
 
               width + m_miniEdge*2, height  + m_miniEdge*2 + m_miniTitle, 0);
 }
 
-void wxTopLevelWindowGTK::SetMinSize(const wxSize& minSize)
-{
-    SetSizeHints( minSize.x, minSize.y, GetMaxWidth(), GetMaxHeight() );    
-}
-
-void wxTopLevelWindowGTK::SetMaxSize(const wxSize& maxSize)
-{
-    SetSizeHints( GetMinWidth(), GetMinHeight(), maxSize.x, maxSize.y );
-}
-
 void wxTopLevelWindowGTK::DoSetSizeHints( int minW, int minH,
                                           int maxW, int maxH,
                                           int incW, int incH )