From 1bcfc0e1b91dd7bc2a3144048fbbf5c809943986 Mon Sep 17 00:00:00 2001
From: David Webster <Dave.Webster@bhmi.com>
Date: Mon, 6 Aug 2001 20:40:31 +0000
Subject: [PATCH] Some Updates for latest CVS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/os2/makefile.va | 15 ++++++++-----
 src/os2/window.cpp  | 54 ++++++++-------------------------------------
 src/os2/wx23.def    | 22 ++++++++++++++----
 3 files changed, 36 insertions(+), 55 deletions(-)

diff --git a/src/os2/makefile.va b/src/os2/makefile.va
index c399be08b6..7419a88133 100644
--- a/src/os2/makefile.va
+++ b/src/os2/makefile.va
@@ -199,6 +199,7 @@ COMMONOBJS = \
   ..\common\$D\cmndata.obj \
   ..\common\$D\cmdproc.obj \
   ..\common\$D\config.obj \
+  ..\common\$D\containr.obj \
   ..\common\$D\cshelp.obj \
   ..\common\$D\ctrlcmn.obj \
   ..\common\$D\ctrlsub.obj \
@@ -326,6 +327,7 @@ COMLIBOBJS1 = \
   cmndata.obj \
   cmdproc.obj \
   config.obj \
+  containr.obj \
   cshelp.obj \
   ctrlcmn.obj \
   ctrlsub.obj \
@@ -360,10 +362,10 @@ COMLIBOBJS1 = \
   fs_inet.obj \
   fs_mem.obj \
   fs_zip.obj \
-  ftp.obj \
-  gaugecmn.obj
+  ftp.obj
 
 COMLIBOBJS2 = \
+  gaugecmn.obj \
   gdicmn.obj \
   geometry.obj \
   gifdecod.obj \
@@ -404,10 +406,10 @@ COMLIBOBJS2 = \
   protocol.obj \
   quantize.obj \
   radiocmn.obj \
-  regex.obj \
-  resource.obj
+  regex.obj
 
 COMLIBOBJS3 = \
+  resource.obj \
   sckaddr.obj \
   sckfile.obj \
   sckipc.obj \
@@ -679,6 +681,7 @@ $(COMLIBOBJS1):
   copy ..\common\$D\cmndata.obj
   copy ..\common\$D\cmdproc.obj
   copy ..\common\$D\config.obj
+  copy ..\common\$D\containr.obj
   copy ..\common\$D\cshelp.obj
   copy ..\common\$D\ctrlcmn.obj
   copy ..\common\$D\ctrlsub.obj
@@ -714,9 +717,9 @@ $(COMLIBOBJS1):
   copy ..\common\$D\fs_mem.obj
   copy ..\common\$D\fs_zip.obj
   copy ..\common\$D\ftp.obj
-  copy ..\common\$D\gaugecmn.obj
 
 $(COMLIBOBJS2):
+  copy ..\common\$D\gaugecmn.obj
   copy ..\common\$D\gdicmn.obj
   copy ..\common\$D\geometry.obj
   copy ..\common\$D\gifdecod.obj
@@ -758,9 +761,9 @@ $(COMLIBOBJS2):
   copy ..\common\$D\quantize.obj
   copy ..\common\$D\radiocmn.obj
   copy ..\common\$D\regex.obj
-  copy ..\common\$D\resource.obj
 
 $(COMLIBOBJS3):
+  copy ..\common\$D\resource.obj
   copy ..\common\$D\sckaddr.obj
   copy ..\common\$D\sckfile.obj
   copy ..\common\$D\sckipc.obj
diff --git a/src/os2/window.cpp b/src/os2/window.cpp
index 2e09d5932c..90180cf64c 100644
--- a/src/os2/window.cpp
+++ b/src/os2/window.cpp
@@ -2006,17 +2006,9 @@ bool wxWindowOS2::OS2ProcessMessage(
                         }
                         else
                         {
-                            wxPanel*    pPanel = wxDynamicCast(this, wxPanel);
-                            wxButton*   pBtn = NULL;
-
-                            if (pPanel)
-                            {
-                                //
-                                // Panel may have a default button which should
-                                // be activated by Enter
-                                //
-                                pBtn = pPanel->GetDefaultItem();
-                            }
+                            wxButton*   pBtn = wxDynamicCast( GetDefaultItem()
+                                                             ,wxButton
+                                                            );
 
                             if (pBtn && pBtn->IsEnabled())
                             {
@@ -2893,32 +2885,6 @@ void wxWindowOS2::OnSetFocus(
   wxFocusEvent&                     rEvent
 )
 {
-    //
-    // Panel wants to track the window which was the last to have focus in it,
-    // so we want to set ourselves as the window which last had focus
-    //
-    // Notice that it's also important to do it upwards the tree becaus
-    // otherwise when the top level panel gets focus, it won't set it back to
-    // us, but to some other sibling
-    //
-    wxWindow*                       pWin = this;
-
-    while (pWin)
-    {
-        wxWindow*                   pParent = pWin->GetParent();
-        wxPanel*                    pPanel = wxDynamicCast( pParent
-                                                           ,wxPanel
-                                                          );
-        if (pPanel)
-        {
-            pPanel->SetLastFocus(pWin);
-        }
-        pWin = pParent;
-    }
-
-    wxLogTrace(_T("focus"), _T("%s (0x%08x) gets focus"),
-               GetClassInfo()->GetClassName(), GetHandle());
-
     rEvent.Skip();
 } // end of wxWindowOS2::OnSetFocus
 
@@ -2949,16 +2915,14 @@ bool wxWindowOS2::HandleSetFocus(
     }
 #endif // wxUSE_CARET
 
-    //
-    // Panel wants to track the window which was the last to have focus in it
-    //
-    wxPanel*                        pPanel = wxDynamicCast( GetParent()
-                                                           ,wxPanel
-                                                          );
-    if (pPanel)
+#if wxUSE_TEXTCTRL
+    // If it's a wxTextCtrl don't send the event as it will be done
+    // after the control gets to process it from EN_FOCUS handler
+    if ( wxDynamicCastThis(wxTextCtrl) )
     {
-        pPanel->SetLastFocus(this);
+        return FALSE;
     }
+#endif // wxUSE_TEXTCTRL
 
     wxFocusEvent                    vEvent(wxEVT_SET_FOCUS, m_windowId);
 
diff --git a/src/os2/wx23.def b/src/os2/wx23.def
index 75703b92d7..a3e4161816 100644
--- a/src/os2/wx23.def
+++ b/src/os2/wx23.def
@@ -229,6 +229,24 @@ EXPORTS
       ;wxConfigBase::ms_bAutoCreate
       ms_bAutoCreate__12wxConfigBase
       __vft12wxConfigBase
+  ;From object file:  ..\common\containr.cpp
+    ;PUBDEFs (Symbols available from object file):
+      ;wxControlContainer::HandleOnFocus(wxFocusEvent&)
+      HandleOnFocus__18wxControlContainerFR12wxFocusEvent
+      ;wxControlContainer::DoSetFocus()
+      DoSetFocus__18wxControlContainerFv
+      ;wxControlContainer::wxControlContainer(wxWindow*)
+      __ct__18wxControlContainerFP8wxWindow
+      ;wxControlContainer::SetLastFocus(wxWindow*)
+      SetLastFocus__18wxControlContainerFP8wxWindow
+      ;wxControlContainer::HandleOnNavigationKey(wxNavigationKeyEvent&)
+      HandleOnNavigationKey__18wxControlContainerFR20wxNavigationKeyEvent
+      ;wxControlContainer::HandleOnWindowDestroy(wxWindowBase*)
+      HandleOnWindowDestroy__18wxControlContainerFP12wxWindowBase
+      ;wxControlContainer::SetFocusToChild()
+      SetFocusToChild__18wxControlContainerFv
+      ;wxSetFocusToChild(wxWindow*,wxWindow**)
+      wxSetFocusToChild__FP8wxWindowPP8wxWindow
   ;From object file:  ..\common\cshelp.cpp
     ;PUBDEFs (Symbols available from object file):
       ;wxContextHelpButton::wxContextHelpButton(wxWindow*,int,const wxPoint&,const wxSize&,long)
@@ -9004,10 +9022,6 @@ EXPORTS
       wxConstructorForwxPanel__Fv
       ;wxPanel::SetFocus()
       SetFocus__7wxPanelFv
-      ;wxPanel::SetFocusToChild()
-      SetFocusToChild__7wxPanelFv
-      ;wxSetFocusToChild(wxWindow*,wxWindow**)
-      wxSetFocusToChild__FP8wxWindowPP8wxWindow
   ;From object file:  ..\generic\printps.cpp
     ;PUBDEFs (Symbols available from object file):
       ;wxPostScriptPrintPreview::wxPostScriptPrintPreview(wxPrintout*,wxPrintout*,wxPrintDialogData*)
-- 
2.50.0

