]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied toolbar patch for wxTB_RIGHT support (patch #1595081).
authorStefan Neis <Stefan.Neis@t-online.de>
Sun, 12 Nov 2006 16:06:07 +0000 (16:06 +0000)
committerStefan Neis <Stefan.Neis@t-online.de>
Sun, 12 Nov 2006 16:06:07 +0000 (16:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/os2/frame.cpp
src/os2/toolbar.cpp

index 38c03e700b115b9bcbbed7cf15375a5cdb0df82e..f7ab688deb7bbbfba3c572497ab5e5725e88f452 100644 (file)
@@ -695,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
@@ -720,6 +720,22 @@ void wxFrame::PositionToolBar()
                           ,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;
@@ -730,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
@@ -1108,7 +1124,7 @@ 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;
@@ -1122,13 +1138,20 @@ MRESULT EXPENTRY wxFrameMainWndProc( HWND   hWnd,
                             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_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;
                     }
index 55a5e314e364988d14d0857fca8ff84aa0428d8e..230adb16e860033b87da0002da4e1199d8a1bcf3 100644 (file)
@@ -333,7 +333,7 @@ bool wxToolBar::Create( wxWindow* pParent,
     SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_MENUBAR));
     SetFont(*wxSMALL_FONT);
 
-    if (GetWindowStyleFlag() & wxTB_VERTICAL)
+    if (GetWindowStyleFlag() & (wxTB_LEFT | wxTB_RIGHT))
     {
         m_vLastX = 7;
         m_vLastY = 3;
@@ -375,7 +375,7 @@ bool wxToolBar::Create( wxWindow* pParent,
     int                             nWidth  = rSize.x;
     int                             nHeight = rSize.y;
 
-    if (lStyle & (wxTB_HORIZONTAL | wxTB_BOTTOM))
+    if (lStyle & (wxTB_TOP | wxTB_BOTTOM))
     {
         if (nWidth <= 0)
         {
@@ -499,7 +499,7 @@ bool wxToolBar::Realize()
 
         if (pTool->IsSeparator())
         {
-            if (GetWindowStyleFlag() & (wxTB_HORIZONTAL | wxTB_BOTTOM))
+            if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM))
             {
                 pTool->m_vX = m_vLastX + nSeparatorSize;
                 pTool->m_vHeight = m_defaultHeight + m_vTextY;
@@ -520,7 +520,7 @@ bool wxToolBar::Realize()
         }
         else if (pTool->IsButton())
         {
-            if (GetWindowStyleFlag() & (wxTB_HORIZONTAL | wxTB_BOTTOM))
+            if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM))
             {
                 if (m_nCurrentRowsOrColumns >= m_maxCols)
                 {
@@ -565,7 +565,7 @@ bool wxToolBar::Realize()
         node = node->GetNext();
     }
 
-    if (GetWindowStyleFlag() & (wxTB_HORIZONTAL | wxTB_BOTTOM))
+    if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM))
         m_maxWidth += nMaxToolWidth;
     else
         m_maxHeight += nMaxToolHeight;
@@ -618,7 +618,7 @@ void wxToolBar::OnPaint (
             vDc.SetPen(vDarkGreyPen);
             if (HasFlag(wxTB_TEXT))
             {
-                if (HasFlag(wxTB_HORIZONTAL) || HasFlag(wxTB_BOTTOM))
+                if (HasFlag(wxTB_TOP) || HasFlag(wxTB_BOTTOM))
                 {
                     nX = pTool->m_vX;
                     nY = pTool->m_vY - (m_vTextY - 6);
@@ -635,7 +635,7 @@ void wxToolBar::OnPaint (
             {
                 nX = pTool->m_vX;
                 nY = pTool->m_vY;
-                if (HasFlag(wxTB_HORIZONTAL) || HasFlag(wxTB_BOTTOM))
+                if (HasFlag(wxTB_TOP) || HasFlag(wxTB_BOTTOM))
                     nHeight = pTool->GetHeight() - 2;
                 else
                 {