X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad60f9e7b66d326505592cc6dae034cab5826f3b..9bc3af3e642709425476f6232a19fe4f1bbb42b8:/src/gtk/spinbutt.cpp?ds=sidebyside diff --git a/src/gtk/spinbutt.cpp b/src/gtk/spinbutt.cpp index 4ed8250624..2a190e9e1c 100644 --- a/src/gtk/spinbutt.cpp +++ b/src/gtk/spinbutt.cpp @@ -38,7 +38,7 @@ gtk_value_changed(GtkSpinButton* spinbutton, wxSpinButton* win) const double value = gtk_spin_button_get_value(spinbutton); const int pos = int(value); const int oldPos = win->m_pos; - if (!win->m_hasVMT || g_blockEventsOnDrag || pos == oldPos) + if (g_blockEventsOnDrag || pos == oldPos) { win->m_pos = pos; return; @@ -72,9 +72,6 @@ gtk_value_changed(GtkSpinButton* spinbutton, wxSpinButton* win) // wxSpinButton //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxSpinButton,wxControl) -IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent) - BEGIN_EVENT_TABLE(wxSpinButton, wxControl) EVT_SIZE(wxSpinButton::OnSize) END_EVENT_TABLE() @@ -177,13 +174,11 @@ void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) ) bool wxSpinButton::Enable( bool enable ) { - bool isEnabled = IsEnabled(); - - if ( !wxControl::Enable( enable ) ) + if (!base_type::Enable(enable)) return false; // Work around lack of visual update when enabling - if (!isEnabled && enable) + if (enable) GTKFixSensitivity(false /* fix even if not under mouse */); return true; @@ -203,7 +198,12 @@ void wxSpinButton::GtkEnableEvents() const GdkWindow *wxSpinButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const { +#ifdef __WXGTK3__ + // no access to internal GdkWindows + return NULL; +#else return GTK_SPIN_BUTTON(m_widget)->panel; +#endif } wxSize wxSpinButton::DoGetBestSize() const @@ -217,9 +217,7 @@ wxSize wxSpinButton::DoGetBestSize() const wxVisualAttributes wxSpinButton::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { - // TODO: overload to accept functions like gtk_spin_button_new? - // Until then use a similar type - return GetDefaultAttributesFromGTKWidget(gtk_button_new); + return GetDefaultAttributesFromGTKWidget(gtk_spin_button_new_with_range(0, 100, 1)); } #endif