- wxSize ret( wxControl::DoGetBestSize() );
-
- // we know better our horizontal extent: it depends on the longest string
- // we have
- ret.x = 0;
- if ( m_widget )
- {
- GdkFont *font = m_font.GetInternalFont();
-
- wxCoord width;
- size_t count = GetCount();
- for ( size_t n = 0; n < count; n++ )
- {
- // FIXME GTK 2.0
- width = (wxCoord)gdk_string_width(font, wxGTK_CONV( GetString(n) ) );
- if ( width > ret.x )
- ret.x = width;
- }
-
- // add extra for the choice "=" button
-
- // VZ: I don't know how to get the right value, it seems to be in
- // GtkOptionMenuProps struct from gtkoptionmenu.c but we can't get
- // to it - maybe we can use gtk_option_menu_size_request() for this
- // somehow?
- //
- // This default value works only for the default GTK+ theme (i.e.
- // no theme at all) (FIXME)
- static const int widthChoiceIndicator = 35;
- ret.x += widthChoiceIndicator;
- }
-
- // but not less than the minimal width
- if ( ret.x < 80 )
- ret.x = 80;
-
- ret.y = 16 + gdk_char_height(GET_STYLE_FONT( m_widget->style ), 'H' );
-
- return ret;
+ GTKApplyStyle(m_widget, style);
+ GTKApplyStyle(gtk_bin_get_child(GTK_BIN(m_widget)), style);