]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/window.cpp
remove temportay fix to Makefile.in, now configure .in is fixed
[wxWidgets.git] / src / os2 / window.cpp
index 42c6c757835ea2e26b0f89402cc27de8af6072c6..318aeb93ec81c2d78744afee426767fe36f1a8b7 100644 (file)
@@ -293,11 +293,10 @@ void wxWindowOS2::Init()
     //
     // PM specific
     //
     //
     // PM specific
     //
-    m_bDoubleClickAllowed = 0;
     m_bWinCaptured = FALSE;
 
     m_isBeingDeleted        = FALSE;
     m_bWinCaptured = FALSE;
 
     m_isBeingDeleted        = FALSE;
-    m_fnOldWndProc          = 0;
+    m_fnOldWndProc          = NULL;
     m_bUseCtl3D             = FALSE;
     m_bMouseInWindow        = FALSE;
     m_bLastKeydownProcessed = FALSE;
     m_bUseCtl3D             = FALSE;
     m_bMouseInWindow        = FALSE;
     m_bLastKeydownProcessed = FALSE;
@@ -342,12 +341,12 @@ wxWindowOS2::~wxWindowOS2()
 
     for (wxWindow* pWin = GetParent(); pWin; pWin = pWin->GetParent())
     {
 
     for (wxWindow* pWin = GetParent(); pWin; pWin = pWin->GetParent())
     {
-        wxFrame*                    pFrame = wxDynamicCast(pWin, wxFrame);
+        wxTopLevelWindow*           pFrame = wxDynamicCast(pWin, wxTopLevelWindow);
 
         if (pFrame)
         {
             if (pFrame->GetLastFocus() == this)
 
         if (pFrame)
         {
             if (pFrame->GetLastFocus() == this)
-                pFrame->SetLastFocus((wxWindow*)NULL);
+                pFrame->SetLastFocus(NULL);
         }
     }
 
         }
     }
 
@@ -2732,10 +2731,13 @@ MRESULT wxWindowOS2::OS2WindowProc(
             break;
 
         case WM_QUERYDLGCODE:
             break;
 
         case WM_QUERYDLGCODE:
-            if ( m_lDlgCode )
+            if (!IsOfStandardClass())
             {
             {
-                mResult = (MRESULT)m_lDlgCode;
-                bProcessed = TRUE;
+                if ( m_lDlgCode )
+                {
+                    mResult = (MRESULT)m_lDlgCode;
+                    bProcessed = TRUE;
+                }
             }
             //
             //else: get the dlg code from the DefWindowProc()
             }
             //
             //else: get the dlg code from the DefWindowProc()
@@ -3097,6 +3099,11 @@ bool wxWindowOS2::OS2GetCreateWindowCoords(
     return bNonDefault;
 } // end of wxWindowOS2::OS2GetCreateWindowCoords
 
     return bNonDefault;
 } // end of wxWindowOS2::OS2GetCreateWindowCoords
 
+WXHWND wxWindowOS2::OS2GetParent() const
+{
+    return m_parent ? m_parent->GetHWND() : NULL;
+}
+
 bool wxWindowOS2::OS2Create(
   PSZ                               zClass
 , const char*                       zTitle
 bool wxWindowOS2::OS2Create(
   PSZ                               zClass
 , const char*                       zTitle
@@ -3129,31 +3136,6 @@ bool wxWindowOS2::OS2Create(
                              ,nHeight
                             );
 
                              ,nHeight
                             );
 
-    if (GetWindowStyleFlag() & wxPOPUP_WINDOW)
-        hParent = HWND_DESKTOP;
-    else
-    {
-        if ((bIsChild || HasFlag(wxFRAME_TOOL_WINDOW)) && pParent )
-        {
-            //
-            // This is either a normal child window or a top level window with
-            // wxFRAME_TOOL_WINDOW style (see below)
-            //
-            hParent = GetHwndOf(pParent);
-        }
-        else
-        {
-            //
-            // This is either a window for which no parent was specified (not
-            // much we can do then) or a frame without wxFRAME_TOOL_WINDOW
-            // style: we should use NULL parent HWND for it or it would be
-            // always on top of its parent which is not what we usually want
-            // (in fact, we only want it for frames with the special
-            // wxFRAME_TOOL_WINDOW as above)
-            //
-            hParent = NULL;
-        }
-    }
     if (bIsChild)
     {
         lControlId = GetId();
     if (bIsChild)
     {
         lControlId = GetId();
@@ -3171,20 +3153,20 @@ bool wxWindowOS2::OS2Create(
     {
         sClassName += wxT("NR");
     }
     {
         sClassName += wxT("NR");
     }
-    m_hWnd = (WXHWND)::WinCreateWindow( (HWND)hParent
-                                      ,(PSZ)sClassName.c_str()
-                                      ,(PSZ)zTitle ? zTitle : ""
-                                      ,(ULONG)dwStyle
-                                      ,(LONG)0L
-                                      ,(LONG)0L
-                                      ,(LONG)0L
-                                      ,(LONG)0L
-                                      ,NULLHANDLE
-                                      ,HWND_TOP
-                                      ,(ULONG)lControlId
-                                      ,pCtlData
-                                      ,NULL
-                                     );
+    m_hWnd = (WXHWND)::WinCreateWindow( (HWND)OS2GetParent()
+                                       ,(PSZ)sClassName.c_str()
+                                       ,(PSZ)zTitle ? zTitle : ""
+                                       ,(ULONG)dwStyle
+                                       ,(LONG)0L
+                                       ,(LONG)0L
+                                       ,(LONG)0L
+                                       ,(LONG)0L
+                                       ,NULLHANDLE
+                                       ,HWND_TOP
+                                       ,(ULONG)lControlId
+                                       ,pCtlData
+                                       ,NULL
+                                      );
     if (!m_hWnd)
     {
         vError = ::WinGetLastError(wxGetInstance());
     if (!m_hWnd)
     {
         vError = ::WinGetLastError(wxGetInstance());
@@ -3946,6 +3928,7 @@ void wxWindowOS2::InitMouseEvent(
     rEvent.m_rightDown   = ((uFlags & VK_BUTTON2) != 0);
     rEvent.SetTimestamp(s_currentMsg.time);
     rEvent.m_eventObject = this;
     rEvent.m_rightDown   = ((uFlags & VK_BUTTON2) != 0);
     rEvent.SetTimestamp(s_currentMsg.time);
     rEvent.m_eventObject = this;
+    rEvent.SetId(GetId());
 
 #if wxUSE_MOUSEEVENT_HACK
     m_lastMouseX = nX;
 
 #if wxUSE_MOUSEEVENT_HACK
     m_lastMouseX = nX;