X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e728732e976f73e9c35211871b921c9ecad60de..a2db25a1436b8363e4ccf98e3d43eee3a01b9cd7:/src/gtk/choice.cpp diff --git a/src/gtk/choice.cpp b/src/gtk/choice.cpp index 8c0789964d..69ca481174 100644 --- a/src/gtk/choice.cpp +++ b/src/gtk/choice.cpp @@ -12,7 +12,10 @@ #if wxUSE_CHOICE #include "wx/choice.h" -#include "wx/arrstr.h" + +#ifndef WX_PRECOMP + #include "wx/arrstr.h" +#endif // FIXME: We use GtkOptionMenu which has been deprecated since GTK+ 2.3.0 in // favour of GtkComboBox. @@ -37,9 +40,6 @@ extern bool g_blockEventsOnDrag; extern "C" { static void gtk_choice_clicked_callback( GtkWidget *WXUNUSED(widget), wxChoice *choice ) { - if (g_isIdle) - wxapp_install_idle_handler(); - if (!choice->m_hasVMT) return; if (g_blockEventsOnDrag) return; @@ -94,11 +94,6 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id, int n, const wxString choices[], long style, const wxValidator& validator, const wxString &name ) { - m_needParent = true; -#if (GTK_MINOR_VERSION > 0) - m_acceptsFocus = true; -#endif - if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { @@ -130,7 +125,7 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id, m_parent->DoAddChild( this ); PostCreation(size); - SetBestSize(size); // need this too because this is a wxControlWithItems + SetInitialSize(size); // need this too because this is a wxControlWithItems return true; } @@ -378,6 +373,8 @@ void wxChoice::SetString(unsigned int n, const wxString& str) wxASSERT_MSG( label != NULL , wxT("wxChoice: invalid label") ); gtk_label_set_text( label, wxGTK_CONV( str ) ); + + InvalidateBestSize(); return; } @@ -596,7 +593,7 @@ wxSize wxChoice::DoGetBestSize() const return ret; } -bool wxChoice::IsOwnGtkWindow( GdkWindow *window ) +GdkWindow *wxChoice::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const { return GTK_BUTTON(m_widget)->event_window; }