Many changes:

- Introduced GTKGetWindow() which returns all GdkWindows associated with the
  given wxWindow
- Renamed IsOwnGtkWindow() to GTKIsOwnWindow() to avoid confusion with the old
  virtual function (the new one is non-virtual and is implemented in terms of
  GTKGetWindow())
- Refactored/simplified event handlers code in gtk/window.cpp
- Fixed some header guards names (__GTKFOO__ -> _WX_GTK_FOO_H_)
- Added GTKUpdateCursor() which sets the current cursor for all windows
  returned by GTKGetWindow()
- Factored out code from many different classes in wxControl::OnInternalIdle()
  which now updates the cursor, checks for internal focus and sends update UI
  events


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-08-25 13:06:19 +00:00
parent ef5c70f96f
commit 1c2b98d6f5

View File

@@ -42,7 +42,6 @@
extern bool g_blockEventsOnDrag;
extern bool g_blockEventsOnScroll;
extern wxCursor g_globalCursor;
@@ -1077,9 +1076,9 @@ GtkWidget *wxListBox::GetConnectWidget()
return GTK_WIDGET(m_treeview);
}
bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
GdkWindow *wxListBox::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
{
return (window == gtk_tree_view_get_bin_window(m_treeview));
return gtk_tree_view_get_bin_window(m_treeview);
}
void wxListBox::DoApplyWidgetStyle(GtkRcStyle *style)
@@ -1098,28 +1097,6 @@ void wxListBox::DoApplyWidgetStyle(GtkRcStyle *style)
gtk_widget_modify_style( GTK_WIDGET(m_treeview), style );
}
void wxListBox::OnInternalIdle()
{
// Check if we have to show window now
if (GtkShowFromOnIdle()) return;
wxCursor cursor = m_cursor;
if (g_globalCursor.Ok()) cursor = g_globalCursor;
if (GTK_WIDGET(m_treeview)->window && cursor.Ok())
{
/* I now set the cursor the anew in every OnInternalIdle call
as setting the cursor in a parent window also effects the
windows above so that checking for the current cursor is
not possible. */
GdkWindow *window = gtk_tree_view_get_bin_window(m_treeview);
gdk_window_set_cursor( window, cursor.GetCursor() );
}
if (wxUpdateUIEvent::CanUpdate(this))
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
wxSize wxListBox::DoGetBestSize() const
{
wxCHECK_MSG(m_treeview, wxDefaultSize, wxT("invalid tree view"));