+#if wxUSE_VALIDATORS
+    SetValidator( validator );
+#endif // wxUSE_VALIDATORS
+
+    m_widget = gtk_button_new_with_label( "" );
+    
+#if (GTK_MINOR_VERSION > 0)    
+    if (style & wxNO_BORDER)
+       gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
+#endif
+
+    SetLabel(label);
+
+    if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label.mbc_str() );
+    if (newSize.y == -1) newSize.y = 26;
+    SetSize( newSize.x, newSize.y );
+
+    gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
+      GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
+
+    m_parent->DoAddChild( this );