if (combo->m_ignoreNextUpdate)
{
- combo->m_ignoreNextUpdate = FALSE;
+ combo->m_ignoreNextUpdate = false;
return;
}
static void
gtk_popup_hide_callback(GtkCombo *WXUNUSED(gtk_combo), wxComboBox *combo)
-{
+{
// when the popup is hidden, throw a SELECTED event only if the combobox
// selection changed.
int curSelection = combo->GetSelection();
event.SetEventObject( combo );
combo->GetEventHandler()->ProcessEvent( event );
}
-
+
// reset the selection flag to an identifiable value
g_SelectionBeforePopup = -1;
}
gtk_signal_disconnect_by_func( GTK_OBJECT(GTK_COMBO(combo->GetHandle())->entry),
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)combo );
combo->SetValue( combo->GetStringSelection() );
- gtk_signal_connect( GTK_OBJECT(GTK_COMBO(combo->GetHandle())->entry), "changed",
+ gtk_signal_connect_after( GTK_OBJECT(GTK_COMBO(combo->GetHandle())->entry), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)combo );
// throw a SELECTED event only if the combobox popup is hidden
long style, const wxValidator& validator,
const wxString& name )
{
- m_ignoreNextUpdate = FALSE;
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
+ m_ignoreNextUpdate = false;
+ m_needParent = true;
+ m_acceptsFocus = true;
m_prevSelection = 0;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG( wxT("wxComboBox creation failed") );
- return FALSE;
+ return false;
}
m_widget = gtk_combo_new();
gtk_signal_disconnect( GTK_OBJECT(combo->entry), combo->entry_change_id );
// ... and add surogate handler.
combo->entry_change_id = gtk_signal_connect (GTK_OBJECT (combo->entry), "changed",
- (GtkSignalFunc) gtk_dummy_callback, combo);
+ (GtkSignalFunc) gtk_dummy_callback, combo);
// make it more useable
gtk_combo_set_use_arrows_always( GTK_COMBO(m_widget), TRUE );
if (style & wxNO_BORDER)
g_object_set( GTK_ENTRY( combo->entry ), "has-frame", FALSE, NULL );
#endif
-
+
GtkWidget *list = GTK_COMBO(m_widget)->list;
#ifndef __WXGTK20__
// "show" and "hide" events are generated when user click on the combobox button which popups a list
// this list is the "popwin" gtk widget
gtk_signal_connect( GTK_OBJECT(GTK_COMBO(combo)->popwin), "hide",
- GTK_SIGNAL_FUNC(gtk_popup_hide_callback), (gpointer)this );
+ GTK_SIGNAL_FUNC(gtk_popup_hide_callback), (gpointer)this );
gtk_signal_connect( GTK_OBJECT(GTK_COMBO(combo)->popwin), "show",
- GTK_SIGNAL_FUNC(gtk_popup_show_callback), (gpointer)this );
+ GTK_SIGNAL_FUNC(gtk_popup_show_callback), (gpointer)this );
- gtk_signal_connect( GTK_OBJECT(combo->entry), "changed",
+ gtk_signal_connect_after( GTK_OBJECT(combo->entry), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this );
- gtk_signal_connect( GTK_OBJECT(combo->list), "select-child",
+ gtk_signal_connect_after( GTK_OBJECT(combo->list), "select-child",
GTK_SIGNAL_FUNC(gtk_combo_select_child_callback), (gpointer)this );
SetBestSize(size); // need this too because this is a wxControlWithItems
// This is required for tool bar support
- wxSize setsize = GetSize();
- gtk_widget_set_usize( m_widget, setsize.x, setsize.y );
+// wxSize setsize = GetSize();
+// gtk_widget_set_usize( m_widget, setsize.x, setsize.y );
- return TRUE;
+ return true;
}
wxComboBox::~wxComboBox()
EnableEvents();
}
-bool wxComboBox::SetStringSelection( const wxString &string )
-{
- wxCHECK_MSG( m_widget != NULL, false, wxT("invalid combobox") );
-
- int res = FindString( string );
- if (res == -1) return false;
- SetSelection( res );
- return true;
-}
-
wxString wxComboBox::GetValue() const
{
GtkEntry *entry = GTK_ENTRY( GTK_COMBO(m_widget)->entry );
return (long) GET_EDITABLE_POS( GTK_COMBO(m_widget)->entry );
}
-long wxComboBox::GetLastPosition() const
+wxTextPos wxComboBox::GetLastPosition() const
{
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
int pos = GTK_ENTRY(entry)->text_length;
void wxComboBox::EnableEvents()
{
- gtk_signal_connect( GTK_OBJECT(GTK_COMBO(m_widget)->list), "select-child",
+ gtk_signal_connect_after( GTK_OBJECT(GTK_COMBO(m_widget)->list), "select-child",
GTK_SIGNAL_FUNC(gtk_combo_select_child_callback), (gpointer)this );
- gtk_signal_connect( GTK_OBJECT(GTK_COMBO(m_widget)->entry), "changed",
+ gtk_signal_connect_after( GTK_OBJECT(GTK_COMBO(m_widget)->entry), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this );
}