#include "wx/log.h"
#include "wx/app.h"
#include "wx/checkbox.h"
+ #include "wx/checklst.h"
#include "wx/msgdlg.h"
#include "wx/radiobox.h"
#include "wx/menu.h"
wxALL,
5 // Border
);
+
SetSizer(mainSizer);
mainSizer->Fit(this);
}
wxALL,
5 // Border width
);
+
+ static const wxChar *aszChoices[] =
+ { _T("Zeroth"), _T("First"), _T("Second"), _T("Third"), _T("Fourth"), _T("Fifth"), _T("Sixth"), _T("Seventh"), _T("Eighth"), _T("Nineth") };
+ wxString *astrChoices = new wxString[WXSIZEOF(aszChoices)];
+ unsigned int ui;
+ for ( ui = 0; ui < WXSIZEOF(aszChoices); ui++ )
+ astrChoices[ui] = aszChoices[ui];
+ m_checklistbox = new wxCheckListBox(this, wxID_ANY, wxDefaultPosition, wxSize(100,100),
+ WXSIZEOF(aszChoices), astrChoices);
+
+ mainSizer->Add(
+ m_checklistbox,
+ 0, // No vertical stretching
+ wxALL,
+ 5 // Border width
+ );
+
SetSizer(mainSizer);
mainSizer->Fit(this);
*m_next;
wxCheckBox *m_checkbox;
+ wxCheckListBox *m_checklistbox;
};
// ============================================================================
// wxListBox
//-----------------------------------------------------------------------------
+static gint
+gtk_listbox_realized_callback( GtkWidget *m_widget, wxListBox *win )
+{
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+ GList *child = win->m_list->children;
+ for (child = win->m_list->children; child != NULL; child = child->next)
+ gtk_widget_show( GTK_WIDGET(child->data) );
+
+ return false;
+}
+
+//-----------------------------------------------------------------------------
+// wxListBox
+//-----------------------------------------------------------------------------
+
IMPLEMENT_DYNAMIC_CLASS(wxListBox,wxControl)
// ----------------------------------------------------------------------------
gtk_widget_show( GTK_WIDGET(m_list) );
+ gtk_signal_connect( GTK_OBJECT(m_list), "realize",
+ GTK_SIGNAL_FUNC(gtk_listbox_realized_callback), (gpointer) this );
+
if ( style & wxLB_SORT )
{
// this will change DoAppend() behaviour
gtk_signal_connect( GTK_OBJECT(list_item), "focus_out_event",
GTK_SIGNAL_FUNC(gtk_listitem_focus_out_callback), (gpointer)this );
-
ConnectWidget( list_item );
- gtk_widget_show( list_item );
-
if (GTK_WIDGET_REALIZED(m_widget))
{
+ gtk_widget_show( list_item );
+
gtk_widget_realize( list_item );
gtk_widget_realize( GTK_BIN(list_item)->child );
// wxListBox
//-----------------------------------------------------------------------------
+static gint
+gtk_listbox_realized_callback( GtkWidget *m_widget, wxListBox *win )
+{
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+ GList *child = win->m_list->children;
+ for (child = win->m_list->children; child != NULL; child = child->next)
+ gtk_widget_show( GTK_WIDGET(child->data) );
+
+ return false;
+}
+
+//-----------------------------------------------------------------------------
+// wxListBox
+//-----------------------------------------------------------------------------
+
IMPLEMENT_DYNAMIC_CLASS(wxListBox,wxControl)
// ----------------------------------------------------------------------------
gtk_widget_show( GTK_WIDGET(m_list) );
+ gtk_signal_connect( GTK_OBJECT(m_list), "realize",
+ GTK_SIGNAL_FUNC(gtk_listbox_realized_callback), (gpointer) this );
+
if ( style & wxLB_SORT )
{
// this will change DoAppend() behaviour
gtk_signal_connect( GTK_OBJECT(list_item), "focus_out_event",
GTK_SIGNAL_FUNC(gtk_listitem_focus_out_callback), (gpointer)this );
-
ConnectWidget( list_item );
- gtk_widget_show( list_item );
-
if (GTK_WIDGET_REALIZED(m_widget))
{
+ gtk_widget_show( list_item );
+
gtk_widget_realize( list_item );
gtk_widget_realize( GTK_BIN(list_item)->child );