wxASSERT_MSG( m_clientList.GetCount() == (size_t)GetCount(),
wxT("bug in client data management") );
+ InvalidateBestSize();
+
GList *children = m_list->children;
int length = g_list_length(children);
int wxListBox::DoAppend( const wxString& item )
{
+ InvalidateBestSize();
+
if (m_strings)
{
// need to determine the index
gtk_widget_realize( list_item );
gtk_widget_realize( GTK_BIN(list_item)->child );
- // Apply current widget style to the new list_item
- GtkRcStyle *style = CreateWidgetStyle();
- if (style)
- {
- gtk_widget_modify_style( GTK_WIDGET( list_item ), style );
- GtkBin *bin = GTK_BIN( list_item );
- GtkWidget *label = GTK_WIDGET( bin->child );
- gtk_widget_modify_style( label, style );
- gtk_rc_style_unref( style );
- }
-
#if wxUSE_TOOLTIPS
if (m_tooltip) m_tooltip->Apply( this );
#endif
}
+
+ // Apply current widget style to the new list_item
+ GtkRcStyle *style = CreateWidgetStyle();
+ if (style)
+ {
+ gtk_widget_modify_style( GTK_WIDGET( list_item ), style );
+ GtkBin *bin = GTK_BIN( list_item );
+ GtkWidget *label = GTK_WIDGET( bin->child );
+ gtk_widget_modify_style( label, style );
+ gtk_rc_style_unref( style );
+ }
}
void wxListBox::DoSetItems( const wxArrayString& items,
// make it too small neither
lbHeight = (cy+4) * wxMin(wxMax(GetCount(), 3), 10);
- return wxSize(lbWidth, lbHeight);
+ wxSize best(lbWidth, lbHeight);
+ CacheBestSize(best);
+ return best;
}
void wxListBox::FixUpMouseEvent(GtkWidget *widget, wxCoord& x, wxCoord& y)