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@40815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -31,12 +31,6 @@
|
||||
#include "wx/gtk/private.h"
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// data
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
extern wxWindowGTK *g_delayedFocus;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// helpers
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -1547,15 +1541,16 @@ GtkWidget* wxTextCtrl::GetConnectWidget()
|
||||
return GTK_WIDGET(m_text);
|
||||
}
|
||||
|
||||
bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window )
|
||||
GdkWindow *wxTextCtrl::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const
|
||||
{
|
||||
if ( IsMultiLine() )
|
||||
{
|
||||
return window == gtk_text_view_get_window( GTK_TEXT_VIEW( m_text ), GTK_TEXT_WINDOW_TEXT ); // pure guesswork
|
||||
return gtk_text_view_get_window(GTK_TEXT_VIEW(m_text),
|
||||
GTK_TEXT_WINDOW_TEXT );
|
||||
}
|
||||
else
|
||||
{
|
||||
return (window == GTK_ENTRY(m_text)->text_area);
|
||||
return GTK_ENTRY(m_text)->text_area;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1717,24 +1712,6 @@ void wxTextCtrl::OnUpdateRedo(wxUpdateUIEvent& event)
|
||||
event.Enable( CanRedo() );
|
||||
}
|
||||
|
||||
void wxTextCtrl::OnInternalIdle()
|
||||
{
|
||||
// Check if we have to show window now
|
||||
if (GtkShowFromOnIdle()) return;
|
||||
|
||||
if (g_delayedFocus == this)
|
||||
{
|
||||
if (GTK_WIDGET_REALIZED(m_widget))
|
||||
{
|
||||
gtk_widget_grab_focus( m_widget );
|
||||
g_delayedFocus = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (wxUpdateUIEvent::CanUpdate(this))
|
||||
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
|
||||
}
|
||||
|
||||
wxSize wxTextCtrl::DoGetBestSize() const
|
||||
{
|
||||
// FIXME should be different for multi-line controls...
|
||||
|
Reference in New Issue
Block a user