gtk_signal_connect( GTK_OBJECT(list_item), "deselect",
GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
+ ConnectWidget( list_item );
+
m_clientData.Append( (wxObject*)NULL );
gtk_widget_show( list_item );
gtk_widget_realize( GTK_WIDGET(m_list) );
SetBackgroundColour( parent->GetBackgroundColour() );
+ SetForegroundColour( parent->GetForegroundColour() );
Show( TRUE );
GtkWidget *list_item = gtk_list_item_new_with_label( item );
- if (m_widgetStyle)
- {
- gtk_widget_set_style( list_item, m_widgetStyle );
- gtk_widget_set_style( GTK_BIN( list_item )->child, m_widgetStyle );
- }
-
gtk_signal_connect( GTK_OBJECT(list_item), "select",
GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
gtk_signal_connect( GTK_OBJECT(list_item), "deselect",
GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
+ ConnectWidget( list_item );
+
m_clientData.Append( (wxObject*)clientData );
gtk_container_add( GTK_CONTAINER(m_list), list_item );
+ if (m_widgetStyle) ApplyWidgetStyle();
+
gtk_widget_show( list_item );
ConnectWidget( list_item );
GList *child = m_list->children;
while (child)
{
- GtkBin *bin = GTK_BIN( child->data );
- if (bin->child->window == window) return TRUE;
+ GtkWidget *bin = GTK_WIDGET( child->data );
+ if (bin->window == window) return TRUE;
child = child->next;
}
return FALSE;
}
-void wxListBox::SetFont( const wxFont &font )
+void wxListBox::ApplyWidgetStyle()
{
- wxCHECK_RET( m_list != NULL, "invalid listbox" );
+ SetWidgetStyle();
- wxControl::SetFont( font );
-
- GList *child = m_list->children;
- while (child)
- {
- gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
-
- child = child->next;
- }
-}
-
-void wxListBox::SetBackgroundColour( const wxColour &colour )
-{
- wxCHECK_RET( m_list != NULL, "invalid listbox" );
-
- wxControl::SetBackgroundColour( colour );
-
- if (!m_backgroundColour.Ok()) return;
-
-// gtk_widget_set_style( GTK_WIDGET(m_list), m_widgetStyle );
-
- GdkWindow *window = GTK_WIDGET(m_list)->window;
- m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
- gdk_window_set_background( window, m_backgroundColour.GetColor() );
- gdk_window_clear( window );
+ GdkWindow *window = GTK_WIDGET(m_list)->window;
+ m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
+ gdk_window_set_background( window, m_backgroundColour.GetColor() );
+ gdk_window_clear( window );
GList *child = m_list->children;
while (child)
{
+ gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
-// gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
-
child = child->next;
}
}
-