-    SetLabel(label);
-  
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-    SetFont( parent->GetFont() );
+    PostCreation(size);
+
+    // need to set non default alignment?
+    gfloat xalign = 0;
+    if ( style & wxALIGN_CENTER )
+        xalign = 0.5;
+    else if ( style & wxALIGN_RIGHT )
+        xalign = 1.0;
+
+    gtk_frame_set_label_align(GTK_FRAME(m_widget), xalign, 0.5);
+
+    if (gtk_check_version(2, 12, 0))
+    {
+        // for clipping label as GTK >= 2.12 does
+        g_signal_connect(m_widget, "size_allocate",
+            G_CALLBACK(size_allocate), NULL);
+    }
+
+    return true;
+}
+
+void wxStaticBox::SetLabel( const wxString& label )
+{
+    wxCHECK_RET( m_widget != NULL, wxT("invalid staticbox") );
+
+    GTKSetLabelForFrame(GTK_FRAME(m_widget), label);
+}