]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/collpane.cpp
compilation fix for wxUSE_UNICODE_MSLU && !WXWIN_COMPATIBILITY_2_6 (bug 1587408)
[wxWidgets.git] / src / gtk / collpane.cpp
index 24f0215b2d4fb35b56febd851081d857cccc9a68..cd744aa00c62bf9b30ff1bdb0c55a4ea66700de8 100644 (file)
@@ -20,9 +20,9 @@
 #ifdef __WXGTK24__
 
 #include "wx/collpane.h"
+#include "wx/gtk/private.h"
 
 #include <gtk/gtkexpander.h>
-#include <gtk/gtk.h>
 
 const wxChar wxCollapsiblePaneNameStr[] = wxT("CollapsiblePane");
 
@@ -72,33 +72,7 @@ static void gtk_collapsiblepane_expanded_callback (GObject    *object,
         sz = p->m_szCollapsed;
     }
 
-    // minimal size has priority over the best size so set here our min size
-    p->SetMinSize(sz);
-    p->SetSize(sz);
-
-    wxWindow *top = p->GetTopLevelParent();
-    if (top)
-    {
-        // we've changed our size, thus our top level parent needs to relayout
-        // itself
-        top->Layout();
-
-        if (p->IsExpanded())
-        {
-            // force our parent to "fit", i.e. expand so that it can honour
-            // our minimal size
-            top->Fit();
-        }
-        else // correctly
-        {
-            if (top->GetSizer())
-                top->GetSizer()->SetSizeHints(top);
-
-            // use SetClientSize() and not SetSize() otherwise the size for
-            // e.g. a wxFrame with a menubar wouldn't be correctly set
-            top->SetClientSize(sz);
-        }
-    }
+    p->OnStateChange(sz);
 
     if ( p->m_bIgnoreNextChange )
     {
@@ -232,7 +206,7 @@ bool wxCollapsiblePane::IsCollapsed() const
 void wxCollapsiblePane::SetLabel(const wxString &str)
 {
     if (!gtk_check_version(2,4,0))
-        gtk_expander_set_label(GTK_EXPANDER(m_widget), str.c_str());
+        gtk_expander_set_label(GTK_EXPANDER(m_widget), wxGTK_CONV(str));
     else
         wxGenericCollapsiblePane::SetLabel(str);
 }