]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wincmn.cpp
Rename gtk{,1}/tbargtk.{h,cpp} to toolbar.{h,cpp}.
[wxWidgets.git] / src / common / wincmn.cpp
index 2fd67dfa382af5e29081413d118354d1efa7cd2f..27a560c9b9e6953200998a08b20353b4f082c2ec 100644 (file)
@@ -241,8 +241,12 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
 
     // assume the user doesn't want this window to shrink beneath its initial
     // size, this worked like this in wxWidgets 2.8 and before and generally
-    // often makes sense
-    SetMinSize(size);
+    // often makes sense for child windows (for top level ones it definitely
+    // does not as the user should be able to resize the window)
+    //
+    // note that we can't use IsTopLevel() from ctor
+    if ( !wxTopLevelWindows.Find((wxWindow *)this) )
+        SetMinSize(size);
 
     SetName(name);
     SetParent(parent);
@@ -720,6 +724,21 @@ wxSize wxWindowBase::GetEffectiveMinSize() const
     return min;
 }
 
+wxSize wxWindowBase::DoGetBorderSize() const
+{
+    // there is one case in which we can implement it for all ports easily:
+    // do it as some classes used by both wxUniv and native ports (e.g.
+    // wxGenericStaticText) do override DoGetBestClientSize() and so this
+    // method must work for them and that ensures that it does, at least in
+    // the default case)
+    if ( GetBorder() == wxBORDER_NONE )
+        return wxSize(0, 0);
+
+    wxFAIL_MSG( "must be overridden if called" );
+
+    return wxDefaultSize;
+}
+
 wxSize wxWindowBase::GetBestSize() const
 {
     if ( !m_windowSizer && m_bestSizeCache.IsFullySpecified() )
@@ -2467,7 +2486,7 @@ wxPoint wxWindowBase::ConvertDialogToPixels(const wxPoint& pt)
 // ----------------------------------------------------------------------------
 
 // propagate the colour change event to the subwindows
-void wxWindowBase::OnSysColourChanged(wxSysColourChangedEvent& event)
+void wxWindowBase::OnSysColourChanged(wxSysColourChangedEvent& WXUNUSED(event))
 {
     wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
     while ( node )
@@ -2477,7 +2496,7 @@ void wxWindowBase::OnSysColourChanged(wxSysColourChangedEvent& event)
         if ( !win->IsTopLevel() )
         {
             wxSysColourChangedEvent event2;
-            event.SetEventObject(win);
+            event2.SetEventObject(win);
             win->GetEventHandler()->ProcessEvent(event2);
         }