From 173348db5fd89f79aaaa40388c3b1c76732002d3 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Tue, 2 Nov 1999 18:11:18 +0000 Subject: [PATCH] wxDialogs now use GTK_WINDOW_DIALOG, Corrected cursor setting bug with right aligned checkboxes, Disabled code in ~wxView that unset the m_currentView, One more thing I forgot. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/docview.cpp | 2 +- src/gtk/checkbox.cpp | 4 ++-- src/gtk/dialog.cpp | 2 +- src/gtk/window.cpp | 5 +++-- src/gtk1/checkbox.cpp | 4 ++-- src/gtk1/dialog.cpp | 2 +- src/gtk1/window.cpp | 5 +++-- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 544e846..3d582f8 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -528,7 +528,7 @@ wxView::wxView() wxView::~wxView() { - GetDocumentManager()->ActivateView(this, FALSE, TRUE); +// GetDocumentManager()->ActivateView(this, FALSE, TRUE); m_viewDocument->RemoveView(this); } diff --git a/src/gtk/checkbox.cpp b/src/gtk/checkbox.cpp index 060c3a1..2729438 100644 --- a/src/gtk/checkbox.cpp +++ b/src/gtk/checkbox.cpp @@ -197,14 +197,14 @@ void wxCheckBox::OnInternalIdle() wxCursor cursor = m_cursor; if (g_globalCursor.Ok()) cursor = g_globalCursor; - if (GTK_TOGGLE_BUTTON(m_widget)->event_window && cursor.Ok()) + if (GTK_TOGGLE_BUTTON(m_widgetCheckbox)->event_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. */ - gdk_window_set_cursor( GTK_TOGGLE_BUTTON(m_widget)->event_window, cursor.GetCursor() ); + gdk_window_set_cursor( GTK_TOGGLE_BUTTON(m_widgetCheckbox)->event_window, cursor.GetCursor() ); } UpdateWindowUI(); diff --git a/src/gtk/dialog.cpp b/src/gtk/dialog.cpp index 712a1fd..ee9764f 100644 --- a/src/gtk/dialog.cpp +++ b/src/gtk/dialog.cpp @@ -259,7 +259,7 @@ bool wxDialog::Create( wxWindow *parent, m_insertCallback = (wxInsertChildFunction) wxInsertChildInDialog; - m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL ); + m_widget = gtk_window_new( GTK_WINDOW_DIALOG ); if (!name.IsEmpty()) gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() ); diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index b254ab8..f384e1d 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2459,13 +2459,14 @@ void wxWindow::SetFocus() if (m_wxwindow) { - gtk_widget_grab_focus (m_wxwindow); + if (!GTK_WIDGET_HAS_FOCUS (m_wxwindow)) + gtk_widget_grab_focus (m_wxwindow); return; } if (m_widget) { - if (GTK_WIDGET_CAN_FOCUS(m_widget) /*&& !GTK_WIDGET_HAS_FOCUS (connect_widget)*/ ) + if (GTK_WIDGET_CAN_FOCUS(m_widget) && !GTK_WIDGET_HAS_FOCUS (m_widget) ) { gtk_widget_grab_focus (m_widget); } diff --git a/src/gtk1/checkbox.cpp b/src/gtk1/checkbox.cpp index 060c3a1..2729438 100644 --- a/src/gtk1/checkbox.cpp +++ b/src/gtk1/checkbox.cpp @@ -197,14 +197,14 @@ void wxCheckBox::OnInternalIdle() wxCursor cursor = m_cursor; if (g_globalCursor.Ok()) cursor = g_globalCursor; - if (GTK_TOGGLE_BUTTON(m_widget)->event_window && cursor.Ok()) + if (GTK_TOGGLE_BUTTON(m_widgetCheckbox)->event_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. */ - gdk_window_set_cursor( GTK_TOGGLE_BUTTON(m_widget)->event_window, cursor.GetCursor() ); + gdk_window_set_cursor( GTK_TOGGLE_BUTTON(m_widgetCheckbox)->event_window, cursor.GetCursor() ); } UpdateWindowUI(); diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index 712a1fd..ee9764f 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/dialog.cpp @@ -259,7 +259,7 @@ bool wxDialog::Create( wxWindow *parent, m_insertCallback = (wxInsertChildFunction) wxInsertChildInDialog; - m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL ); + m_widget = gtk_window_new( GTK_WINDOW_DIALOG ); if (!name.IsEmpty()) gtk_window_set_wmclass( GTK_WINDOW(m_widget), name.mb_str(), name.mb_str() ); diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index b254ab8..f384e1d 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -2459,13 +2459,14 @@ void wxWindow::SetFocus() if (m_wxwindow) { - gtk_widget_grab_focus (m_wxwindow); + if (!GTK_WIDGET_HAS_FOCUS (m_wxwindow)) + gtk_widget_grab_focus (m_wxwindow); return; } if (m_widget) { - if (GTK_WIDGET_CAN_FOCUS(m_widget) /*&& !GTK_WIDGET_HAS_FOCUS (connect_widget)*/ ) + if (GTK_WIDGET_CAN_FOCUS(m_widget) && !GTK_WIDGET_HAS_FOCUS (m_widget) ) { gtk_widget_grab_focus (m_widget); } -- 2.7.4