From 2b904684fb51ee37b2ac32b2bada4bd2ad4fc994 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Tue, 8 Jul 2003 11:26:04 +0000 Subject: [PATCH] Added Theme patch. Upported mouse click detection change. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/choice.cpp | 10 ++++++++++ src/gtk/listbox.cpp | 2 ++ src/gtk/spinctrl.cpp | 6 +++++- src/gtk/window.cpp | 6 +++--- src/gtk1/choice.cpp | 10 ++++++++++ src/gtk1/listbox.cpp | 2 ++ src/gtk1/spinctrl.cpp | 6 +++++- src/gtk1/window.cpp | 6 +++--- 8 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/gtk/choice.cpp b/src/gtk/choice.cpp index d746df7874..b04477bdd4 100644 --- a/src/gtk/choice.cpp +++ b/src/gtk/choice.cpp @@ -502,5 +502,15 @@ wxSize wxChoice::DoGetBestSize() const return ret; } +bool wxChoice::IsOwnGtkWindow( GdkWindow *window ) +{ +#ifdef __WXGTK20__ + return GTK_BUTTON(m_widget)->event_window; +#else + return (window == m_widget->window); +#endif +} + + #endif // wxUSE_CHOICE diff --git a/src/gtk/listbox.cpp b/src/gtk/listbox.cpp index 88f951a037..4f166e489e 100644 --- a/src/gtk/listbox.cpp +++ b/src/gtk/listbox.cpp @@ -958,6 +958,8 @@ GtkWidget *wxListBox::GetConnectWidget() bool wxListBox::IsOwnGtkWindow( GdkWindow *window ) { + if (m_widget->window == window) return TRUE; + if (GTK_WIDGET(m_list)->window == window) return TRUE; GList *child = m_list->children; diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index 6eed70a286..2fbffa6771 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -282,7 +282,11 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event ) bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window ) { - return GTK_SPIN_BUTTON(m_widget)->panel == window; + if (GTK_SPIN_BUTTON(m_widget)->entry.text_area == window) return TRUE; + + if (GTK_SPIN_BUTTON(m_widget)->panel == window) return TRUE; + + return FALSE; } void wxSpinCtrl::ApplyWidgetStyle() diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 358c139fa6..bb9d472179 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2194,11 +2194,11 @@ gtk_window_realized_callback( GtkWidget *m_widget, wxWindow *win ) if (g_isIdle) wxapp_install_idle_handler(); - - if (win->m_delayedBackgroundColour) + + if (win->m_delayedBackgroundColour && !win->GetThemeEnabled()) win->GtkSetBackgroundColour( win->GetBackgroundColour() ); - if (win->m_delayedForegroundColour) + if (win->m_delayedForegroundColour && !win->GetThemeEnabled()) win->GtkSetForegroundColour( win->GetForegroundColour() ); #ifdef __WXGTK20__ diff --git a/src/gtk1/choice.cpp b/src/gtk1/choice.cpp index d746df7874..b04477bdd4 100644 --- a/src/gtk1/choice.cpp +++ b/src/gtk1/choice.cpp @@ -502,5 +502,15 @@ wxSize wxChoice::DoGetBestSize() const return ret; } +bool wxChoice::IsOwnGtkWindow( GdkWindow *window ) +{ +#ifdef __WXGTK20__ + return GTK_BUTTON(m_widget)->event_window; +#else + return (window == m_widget->window); +#endif +} + + #endif // wxUSE_CHOICE diff --git a/src/gtk1/listbox.cpp b/src/gtk1/listbox.cpp index 88f951a037..4f166e489e 100644 --- a/src/gtk1/listbox.cpp +++ b/src/gtk1/listbox.cpp @@ -958,6 +958,8 @@ GtkWidget *wxListBox::GetConnectWidget() bool wxListBox::IsOwnGtkWindow( GdkWindow *window ) { + if (m_widget->window == window) return TRUE; + if (GTK_WIDGET(m_list)->window == window) return TRUE; GList *child = m_list->children; diff --git a/src/gtk1/spinctrl.cpp b/src/gtk1/spinctrl.cpp index 6eed70a286..2fbffa6771 100644 --- a/src/gtk1/spinctrl.cpp +++ b/src/gtk1/spinctrl.cpp @@ -282,7 +282,11 @@ void wxSpinCtrl::OnChar( wxKeyEvent &event ) bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window ) { - return GTK_SPIN_BUTTON(m_widget)->panel == window; + if (GTK_SPIN_BUTTON(m_widget)->entry.text_area == window) return TRUE; + + if (GTK_SPIN_BUTTON(m_widget)->panel == window) return TRUE; + + return FALSE; } void wxSpinCtrl::ApplyWidgetStyle() diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index 358c139fa6..bb9d472179 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -2194,11 +2194,11 @@ gtk_window_realized_callback( GtkWidget *m_widget, wxWindow *win ) if (g_isIdle) wxapp_install_idle_handler(); - - if (win->m_delayedBackgroundColour) + + if (win->m_delayedBackgroundColour && !win->GetThemeEnabled()) win->GtkSetBackgroundColour( win->GetBackgroundColour() ); - if (win->m_delayedForegroundColour) + if (win->m_delayedForegroundColour && !win->GetThemeEnabled()) win->GtkSetForegroundColour( win->GetForegroundColour() ); #ifdef __WXGTK20__ -- 2.45.2