X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7b048ef6b68004cf7063d3669670f45ebf11be97..9894cc01c98b0d6fa960d57e9a6155bbb07ed67b:/src/os2/toplevel.cpp diff --git a/src/os2/toplevel.cpp b/src/os2/toplevel.cpp index 35738bac17..273cbab7f7 100644 --- a/src/os2/toplevel.cpp +++ b/src/os2/toplevel.cpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/toplevel.cpp -// Purpose: implements wxTopLevelWindow for MSW +// Name: os2/toplevel.cpp +// Purpose: implements wxTopLevelWindow for OS/2 // Author: Vadim Zeitlin // Modified by: // Created: 30.12.01 @@ -52,10 +52,7 @@ // globals // ---------------------------------------------------------------------------- -// list of all frames and modeless dialogs -wxWindowList wxModelessWindows; - -// the name of the default wxWindows class +// the name of the default wxWidgets class extern void wxAssociateWinWithHandle( HWND hWnd ,wxWindowOS2* pWin ); @@ -224,48 +221,47 @@ WXDWORD wxTopLevelWindowOS2::OS2GetStyle( ,pdwExflags ); - if (lStyle == wxDEFAULT_FRAME_STYLE) + if ((lStyle & wxDEFAULT_FRAME_STYLE) == wxDEFAULT_FRAME_STYLE) lMsflags |= FCF_SIZEBORDER | FCF_TITLEBAR | FCF_SYSMENU | FCF_MINMAX | FCF_TASKLIST; + + if ((lStyle & wxCAPTION) == wxCAPTION) + lMsflags |= FCF_TASKLIST; else + lMsflags |= FCF_NOMOVEWITHOWNER; + + if ((lStyle & wxVSCROLL) == wxVSCROLL) + lMsflags |= FCF_VERTSCROLL; + if ((lStyle & wxHSCROLL) == wxHSCROLL) + lMsflags |= FCF_HORZSCROLL; + if (lStyle & wxMINIMIZE_BOX) + lMsflags |= FCF_MINBUTTON; + if (lStyle & wxMAXIMIZE_BOX) + lMsflags |= FCF_MAXBUTTON; + if (lStyle & wxTHICK_FRAME) + lMsflags |= FCF_DLGBORDER; + if (lStyle & wxSYSTEM_MENU) + lMsflags |= FCF_SYSMENU; + if (lStyle & wxCAPTION) + lMsflags |= FCF_TASKLIST; + if (lStyle & wxCLIP_CHILDREN) { - if ((lStyle & wxCAPTION) == wxCAPTION) - lMsflags |= FCF_TASKLIST; - else - lMsflags |= FCF_NOMOVEWITHOWNER; - - if ((lStyle & wxVSCROLL) == wxVSCROLL) - lMsflags |= FCF_VERTSCROLL; - if ((lStyle & wxHSCROLL) == wxHSCROLL) - lMsflags |= FCF_HORZSCROLL; - if (lStyle & wxMINIMIZE_BOX) - lMsflags |= FCF_MINBUTTON; - if (lStyle & wxMAXIMIZE_BOX) - lMsflags |= FCF_MAXBUTTON; - if (lStyle & wxTHICK_FRAME) - lMsflags |= FCF_DLGBORDER; - if (lStyle & wxSYSTEM_MENU) - lMsflags |= FCF_SYSMENU; - if (lStyle & wxCAPTION) - lMsflags |= FCF_TASKLIST; - if (lStyle & wxCLIP_CHILDREN) - { - // Invalid for frame windows under PM - } + // Invalid for frame windows under PM + } - if (lStyle & wxTINY_CAPTION_VERT) - lMsflags |= FCF_TASKLIST; - if (lStyle & wxTINY_CAPTION_HORIZ) - lMsflags |= FCF_TASKLIST; + if (lStyle & wxTINY_CAPTION_VERT) + lMsflags |= FCF_TASKLIST; + if (lStyle & wxTINY_CAPTION_HORIZ) + lMsflags |= FCF_TASKLIST; - if ((lStyle & wxTHICK_FRAME) == 0) - lMsflags |= FCF_BORDER; - if (lStyle & wxFRAME_TOOL_WINDOW) - *pdwExflags = kFrameToolWindow; + if ((lStyle & wxTHICK_FRAME) == 0) + lMsflags |= FCF_BORDER; + if (lStyle & wxFRAME_TOOL_WINDOW) + *pdwExflags = kFrameToolWindow; + + if (lStyle & wxSTAY_ON_TOP) + lMsflags |= FCF_SYSMODAL; - if (lStyle & wxSTAY_ON_TOP) - lMsflags |= FCF_SYSMODAL; - } return lMsflags; } // end of wxTopLevelWindowOS2::OS2GetCreateWindowFlags @@ -311,12 +307,11 @@ WXHWND wxTopLevelWindowOS2::OS2GetParent() const return (WXHWND)hWndParent; } // end of wxTopLevelWindowOS2::OS2GetParent -bool wxTopLevelWindowOS2::CreateDialog( - ULONG ulDlgTemplate -, const wxString& rsTitle -, const wxPoint& rPos -, const wxSize& rSize -) + +bool wxTopLevelWindowOS2::CreateDialog( ULONG ulDlgTemplate, + const wxString& WXUNUSED(rsTitle), + const wxPoint& rPos, + const wxSize& rSize ) { wxWindow* pParent = GetParent(); @@ -417,7 +412,7 @@ bool wxTopLevelWindowOS2::CreateDialog( nX = (vSizeDpy.x - nWidth) / 2; nY = (vSizeDpy.y - nHeight) / 2; } - m_backgroundColour.Set(wxString("LIGHT GREY")); + m_backgroundColour.Set(wxString(wxT("LIGHT GREY"))); LONG lColor = (LONG)m_backgroundColour.GetPixel(); @@ -502,7 +497,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error creating frame. Error: %s\n", sError.c_str()); + wxLogError(_T("Error creating frame. Error: %s\n"), sError.c_str()); return FALSE; } @@ -514,7 +509,7 @@ bool wxTopLevelWindowOS2::CreateFrame( wxAssociateWinWithHandle(m_hWnd, this); wxAssociateWinWithHandle(m_hFrame, this); - m_backgroundColour.Set(wxString("MEDIUM GREY")); + m_backgroundColour.Set(wxString(wxT("MEDIUM GREY"))); LONG lColor = (LONG)m_backgroundColour.GetPixel(); @@ -526,7 +521,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error creating frame. Error: %s\n", sError.c_str()); + wxLogError(_T("Error creating frame. Error: %s\n"), sError.c_str()); return FALSE; } @@ -563,7 +558,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error sizing frame. Error: %s\n", sError.c_str()); + wxLogError(_T("Error sizing frame. Error: %s\n"), sError.c_str()); return FALSE; } lStyle = ::WinQueryWindowULong( m_hWnd @@ -644,9 +639,6 @@ bool wxTopLevelWindowOS2::Create( wxTopLevelWindowOS2::~wxTopLevelWindowOS2() { - if (wxModelessWindows.Find(this)) - wxModelessWindows.DeleteObject(this); - // // After destroying an owned window, Windows activates the next top level // window in Z order but it may be different from our owner (to reproduce @@ -763,7 +755,7 @@ bool wxTopLevelWindowOS2::Show( wxActivateEvent vEvent(wxEVT_ACTIVATE, TRUE, m_windowId); ::WinQueryWindowPos(m_hFrame, &vSwp); - m_bIconized = vSwp.fl & SWP_MINIMIZE; + m_bIconized = ( vSwp.fl & SWP_MINIMIZE ) == SWP_MINIMIZE ; ::WinQueryWindowPos(m_hWnd, &m_vSwpClient); ::WinSendMsg(m_hFrame, WM_UPDATEFRAME, (MPARAM)~0, 0); ::WinQueryWindowPos(m_hWnd, &vSwp); @@ -786,7 +778,7 @@ bool wxTopLevelWindowOS2::Show( HWND hWndParent = GetHwndOf(GetParent()); ::WinQueryWindowPos(hWndParent, &vSwp); - m_bIconized = vSwp.fl & SWP_MINIMIZE; + m_bIconized = (vSwp.fl & SWP_MINIMIZE)==SWP_MINIMIZE; ::WinEnableWindow(hWndParent, TRUE); } } @@ -820,9 +812,8 @@ void wxTopLevelWindowOS2::Maximize( bool wxTopLevelWindowOS2::IsMaximized() const { - ::WinQueryWindowPos(m_hFrame, (PSWP)&m_vSwp); - return (m_vSwp.fl & SWP_MAXIMIZE); + return (m_vSwp.fl & SWP_MAXIMIZE) == SWP_MAXIMIZE; } // end of wxTopLevelWindowOS2::IsMaximized void wxTopLevelWindowOS2::Iconize( @@ -867,17 +858,15 @@ void wxTopLevelWindowOS2::SendSizeEvent() // wxTopLevelWindowOS2 fullscreen // ---------------------------------------------------------------------------- -bool wxTopLevelWindowOS2::ShowFullScreen( - bool bShow -, long lStyle -) +bool wxTopLevelWindowOS2::ShowFullScreen( bool bShow, + long lStyle ) { if (bShow) { if (IsFullScreen()) - return FALSE; + return false; - m_bFsIsShowing = TRUE; + m_bFsIsShowing = true; m_lFsStyle = lStyle; // @@ -900,8 +889,8 @@ bool wxTopLevelWindowOS2::ShowFullScreen( // // Decide which window lStyle flags to turn off // - LONG lNewStyle = m_lFsOldWindowStyle; - LONG lOffFlags = 0; + LONG lNewStyle = m_lFsOldWindowStyle; + LONG lOffFlags = 0; if (lStyle & wxFULLSCREEN_NOBORDER) lOffFlags |= FCF_BORDER; @@ -921,16 +910,14 @@ bool wxTopLevelWindowOS2::ShowFullScreen( // // Resize to the size of the desktop // - int nWidth; - int nHeight; - RECTL vRect = wxGetWindowRect(HWND_DESKTOP); + int nWidth; + int nHeight; + RECTL vRect = wxGetWindowRect(HWND_DESKTOP); nWidth = vRect.xRight - vRect.xLeft; nHeight = vRect.yTop - vRect.yBottom; - SetSize( nWidth - ,nHeight - ); + SetSize( nWidth, nHeight ); // // Now flush the window style cache and actually go full-screen @@ -944,21 +931,17 @@ bool wxTopLevelWindowOS2::ShowFullScreen( ,SWP_SIZE | SWP_MOVE ); - wxSizeEvent vEvent( wxSize( nWidth - ,nHeight - ) - ,GetId() - ); - + wxSize full( nWidth, nHeight ); + wxSizeEvent vEvent( full, GetId() ); GetEventHandler()->ProcessEvent(vEvent); - return TRUE; + return true; } else { if (!IsFullScreen()) - return FALSE; + return false; - m_bFsIsShowing = FALSE; + m_bFsIsShowing = false; Maximize(m_bFsIsMaximized); ::WinSetWindowULong( (HWND)GetHWND() ,QWL_STYLE @@ -972,7 +955,7 @@ bool wxTopLevelWindowOS2::ShowFullScreen( ,m_vFsOldSize.height ,SWP_SIZE | SWP_MOVE ); - return TRUE; + return true; } } // end of wxTopLevelWindowOS2::ShowFullScreen @@ -1094,7 +1077,7 @@ HWND wxTLWHiddenParentModule::GetHWND() static const wxChar* zHIDDEN_PARENT_CLASS = _T("wxTLWHiddenParent"); if (!::WinRegisterClass( wxGetInstance() - ,zHIDDEN_PARENT_CLASS + ,(PSZ)zHIDDEN_PARENT_CLASS ,NULL ,0 ,sizeof(ULONG) @@ -1108,7 +1091,7 @@ HWND wxTLWHiddenParentModule::GetHWND() } } m_shWnd = ::WinCreateWindow( HWND_DESKTOP - ,m_szClassName + ,(PSZ)m_szClassName ,"" ,0L ,(LONG)0L