X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3304646d0657d889ad676485a4b635e2032b0038..cf283a470ab3eb4bc69959e3b5ae0edf30337fa5:/src/os2/frame.cpp diff --git a/src/os2/frame.cpp b/src/os2/frame.cpp index f08d1f2d86..53860bb6e7 100644 --- a/src/os2/frame.cpp +++ b/src/os2/frame.cpp @@ -31,14 +31,11 @@ #include "wx/mdi.h" #include "wx/toolbar.h" #include "wx/statusbr.h" + #include "wx/menuitem.h" #endif // WX_PRECOMP #include "wx/os2/private.h" -#include "wx/generic/statusbr.h" - -#include "wx/menuitem.h" - // ---------------------------------------------------------------------------- // globals // ---------------------------------------------------------------------------- @@ -698,7 +695,7 @@ void wxFrame::PositionToolBar() ,&vTHeight ); - if (pToolBar->GetWindowStyleFlag() & wxTB_HORIZONTAL) + if (pToolBar->GetWindowStyleFlag() & wxTB_TOP) { vWidth = (wxCoord)(vRect.xRight - vRect.xLeft); pToolBar->SetSize( vRect.xLeft - vFRect.xLeft @@ -707,6 +704,38 @@ void wxFrame::PositionToolBar() ,vTHeight ); } + else if (pToolBar->GetWindowStyleFlag() & wxTB_BOTTOM) + { + wxCoord vSwidth = 0; + wxCoord vSheight = 0; + + if (m_frameStatusBar) + m_frameStatusBar->GetSize( &vSwidth + ,&vSheight + ); + vWidth = (wxCoord)(vRect.xRight - vRect.xLeft); + pToolBar->SetSize( vRect.xLeft - vFRect.xLeft + ,vFRect.yTop - vRect.yBottom - vTHeight - vSheight + ,vWidth + ,vTHeight + ); + } + else if (pToolBar->GetWindowStyleFlag() & wxTB_LEFT) + { + wxCoord vSwidth = 0; + wxCoord vSheight = 0; + + if (m_frameStatusBar) + m_frameStatusBar->GetSize( &vSwidth + ,&vSheight + ); + vHeight = (wxCoord)(vRect.yTop - vRect.yBottom); + pToolBar->SetSize( vRect.xLeft - vRect.xLeft + ,vPos.y + ,vTWidth + ,vHeight - vSheight + ); + } else { wxCoord vSwidth = 0; @@ -717,7 +746,7 @@ void wxFrame::PositionToolBar() ,&vSheight ); vHeight = (wxCoord)(vRect.yTop - vRect.yBottom); - pToolBar->SetSize( vRect.xLeft - vFRect.xLeft + pToolBar->SetSize( vRect.xRight - vFRect.xLeft - vTWidth ,vPos.y ,vTWidth ,vHeight - vSheight @@ -1026,7 +1055,7 @@ bool wxFrame::HandleMenuSelect( WXWORD nItem, } else { - DoGiveHelp(wxEmptyString, false); + DoGiveHelp(wxEmptyString, true); return false; } } @@ -1095,20 +1124,34 @@ MRESULT EXPENTRY wxFrameMainWndProc( HWND hWnd, { if(pWnd->m_hWnd && pSWP[i].hwnd == pWnd->m_hWnd) { - if (pWnd->m_frameToolBar && pWnd->m_frameToolBar->GetWindowStyleFlag() & wxTB_HORIZONTAL) + if (pWnd->m_frameToolBar && pWnd->m_frameToolBar->GetWindowStyleFlag() & wxTB_TOP) { pSWP[i].x = vRectl.xLeft; pSWP[i].y = vRectl.yBottom + nHeight; pSWP[i].cx = vRectl.xRight - vRectl.xLeft; pSWP[i].cy = vRectl.yTop - vRectl.yBottom - (nHeight + nHeight2); } - else + else if (pWnd->m_frameToolBar && pWnd->m_frameToolBar->GetWindowStyleFlag() & wxTB_BOTTOM) + { + pSWP[i].x = vRectl.xLeft; + pSWP[i].y = vRectl.yBottom + nHeight + nHeight2; + pSWP[i].cx = vRectl.xRight - vRectl.xLeft; + pSWP[i].cy = vRectl.yTop - vRectl.yBottom - (nHeight + nHeight2); + } + else if (pWnd->m_frameToolBar && pWnd->m_frameToolBar->GetWindowStyleFlag() & wxTB_LEFT) { pSWP[i].x = vRectl.xLeft + nWidth; pSWP[i].y = vRectl.yBottom + nHeight; pSWP[i].cx = vRectl.xRight - (vRectl.xLeft + nWidth); pSWP[i].cy = vRectl.yTop - vRectl.yBottom - nHeight; } + else + { + pSWP[i].x = vRectl.xLeft; + pSWP[i].y = vRectl.yBottom + nHeight; + pSWP[i].cx = vRectl.xRight - (vRectl.xLeft + nWidth); + pSWP[i].cy = vRectl.yTop - vRectl.yBottom - nHeight; + } pSWP[i].fl = SWP_SIZE | SWP_MOVE | SWP_SHOW; pSWP[i].hwndInsertBehind = HWND_TOP; }