X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7a78a9378207266c55b7f4c72fbfb2ae11963d0b..ad653fa23069c5d9378247084f03c9a718c3ad62:/src/gtk/combobox.cpp diff --git a/src/gtk/combobox.cpp b/src/gtk/combobox.cpp index ae69a86b37..609811eb65 100644 --- a/src/gtk/combobox.cpp +++ b/src/gtk/combobox.cpp @@ -17,7 +17,7 @@ #ifndef WX_PRECOMP #include "wx/intl.h" #include "wx/settings.h" - #include "wx/textctrl.h" // for wxEVT_COMMAND_TEXT_UPDATED + #include "wx/textctrl.h" // for wxEVT_TEXT #include "wx/arrstr.h" #endif @@ -33,7 +33,7 @@ extern "C" { static void gtkcombobox_text_changed_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo ) { - wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() ); + wxCommandEvent event( wxEVT_TEXT, combo->GetId() ); event.SetString( combo->GetValue() ); event.SetEventObject( combo ); combo->HandleWindowEvent( event ); @@ -42,7 +42,7 @@ gtkcombobox_text_changed_callback( GtkWidget *WXUNUSED(widget), wxComboBox *comb static void gtkcombobox_changed_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo ) { - combo->SendSelectionChangedEvent(wxEVT_COMMAND_COMBOBOX_SELECTED); + combo->SendSelectionChangedEvent(wxEVT_COMBOBOX); } static void @@ -52,8 +52,8 @@ gtkcombobox_popupshown_callback(GObject *WXUNUSED(gobject), { gboolean isShown; g_object_get( combo->m_widget, "popup-shown", &isShown, NULL ); - wxCommandEvent event( isShown ? wxEVT_COMMAND_COMBOBOX_DROPDOWN - : wxEVT_COMMAND_COMBOBOX_CLOSEUP, + wxCommandEvent event( isShown ? wxEVT_COMBOBOX_DROPDOWN + : wxEVT_COMBOBOX_CLOSEUP, combo->GetId() ); event.SetEventObject( combo ); combo->HandleWindowEvent( event ); @@ -173,6 +173,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value, g_signal_connect_after (entry, "changed", G_CALLBACK (gtkcombobox_text_changed_callback), this); + GTKConnectInsertTextSignal(entry); GTKConnectClipboardSignals(GTK_WIDGET(entry)); } @@ -215,7 +216,7 @@ void wxComboBox::OnChar( wxKeyEvent &event ) if ( HasFlag(wxTE_PROCESS_ENTER) && GetEntry() ) { // GTK automatically selects an item if its in the list - wxCommandEvent eventEnter(wxEVT_COMMAND_TEXT_ENTER, GetId()); + wxCommandEvent eventEnter(wxEVT_TEXT_ENTER, GetId()); eventEnter.SetString( GetValue() ); eventEnter.SetInt( GetSelection() ); eventEnter.SetEventObject( this ); @@ -290,9 +291,9 @@ wxVisualAttributes wxComboBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { #ifdef __WXGTK3__ - return GetDefaultAttributesFromGTKWidget(gtk_combo_box_new_with_entry, true); + return GetDefaultAttributesFromGTKWidget(gtk_combo_box_new_with_entry(), true); #else - return GetDefaultAttributesFromGTKWidget(gtk_combo_box_entry_new, true); + return GetDefaultAttributesFromGTKWidget(gtk_combo_box_entry_new(), true); #endif } @@ -409,10 +410,14 @@ wxSize wxComboBox::DoGetSizeFromTextSize(int xlen, int ylen) const { wxSize tsize( wxChoice::DoGetSizeFromTextSize(xlen, ylen) ); - // Add the margins we have previously set, but only the horizontal border - // as vertical one has been taken account in the prevoius call. - // Also get other GTK+ margins. - tsize.IncBy( GTKGetEntryMargins(GetEntry()).x, 0); + GtkEntry* entry = GetEntry(); + if (entry) + { + // Add the margins we have previously set, but only the horizontal border + // as vertical one has been taken account in the previous call. + // Also get other GTK+ margins. + tsize.IncBy(GTKGetEntryMargins(entry).x, 0); + } return tsize; }