wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
event.SetString( combo->GetValue() );
event.SetEventObject( combo );
- combo->GetEventHandler()->ProcessEvent( event );
+ combo->HandleWindowEvent( event );
}
}
event.SetInt( curSelection );
event.SetString( combo->GetStringSelection() );
event.SetEventObject( combo );
- combo->GetEventHandler()->ProcessEvent( event );
+ combo->HandleWindowEvent( event );
// for consistency with the other ports, send TEXT event
wxCommandEvent event2( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
event2.SetString( combo->GetStringSelection() );
event2.SetEventObject( combo );
- combo->GetEventHandler()->ProcessEvent( event2 );
+ combo->HandleWindowEvent( event2 );
}
}
}
event.SetInt( curSelection );
event.SetString( combo->GetStringSelection() );
event.SetEventObject( combo );
- combo->GetEventHandler()->ProcessEvent( event );
+ combo->HandleWindowEvent( event );
// for consistency with the other ports, don't generate text update
// events while the user is browsing the combobox neither
wxCommandEvent event2( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
event2.SetString( combo->GetValue() );
event2.SetEventObject( combo );
- combo->GetEventHandler()->ProcessEvent( event2 );
+ combo->HandleWindowEvent( event2 );
}
}
}
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
- wxString tmp;
- if (!value.IsNull()) tmp = value;
- gtk_entry_set_text( GTK_ENTRY(entry), wxGTK_CONV( tmp ) );
+ gtk_entry_set_text( GTK_ENTRY(entry), wxGTK_CONV( value ) );
InvalidateBestSize();
}
+void wxComboBox::WriteText(const wxString& value)
+{
+ wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
+
+ GtkWidget *entry = GTK_COMBO(m_widget)->entry;
+ GtkEditable * const edit = GTK_EDITABLE(entry);
+
+ gtk_editable_delete_selection(edit);
+ gint len = gtk_editable_get_position(edit);
+ gtk_editable_insert_text(edit, wxGTK_CONV(value), -1, &len);
+ gtk_editable_set_position(edit, len);
+}
+
void wxComboBox::Copy()
{
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
eventEnter.SetInt( GetSelection() );
eventEnter.SetEventObject( this );
- if (!GetEventHandler()->ProcessEvent( eventEnter ))
+ if (!HandleWindowEvent( eventEnter ))
{
// This will invoke the dialog default action, such
// as the clicking the default button.