X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e3e485bc855bb6aa3e3e7978eac9fb5eea0287e..d58526d55433162cef8ad2ed7f422689862c3019:/src/os2/toolbar.cpp diff --git a/src/os2/toolbar.cpp b/src/os2/toolbar.cpp index eb6283de0a..ebceb00abb 100644 --- a/src/os2/toolbar.cpp +++ b/src/os2/toolbar.cpp @@ -26,6 +26,7 @@ #endif #include "wx/tooltip.h" +#include "wx/os2/dcclient.h" bool wxToolBar::m_bInitialized = false; @@ -60,8 +61,10 @@ public: inline wxToolBarTool( wxToolBar* pTbar ,wxControl* pControl + ,const wxString& label ) : wxToolBarToolBase( pTbar ,pControl + ,label ) { } @@ -128,10 +131,12 @@ wxToolBarToolBase* wxToolBar::CreateTool( wxToolBarToolBase *wxToolBar::CreateTool( wxControl* pControl +, const wxString& label ) { return new wxToolBarTool( this ,pControl + ,label ); } // end of wxToolBarSimple::CreateTool @@ -333,7 +338,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 +380,7 @@ bool wxToolBar::Create( wxWindow* pParent, int nWidth = rSize.x; int nHeight = rSize.y; - if (lStyle & wxTB_HORIZONTAL) + if (lStyle & (wxTB_TOP | wxTB_BOTTOM)) { if (nWidth <= 0) { @@ -499,7 +504,7 @@ bool wxToolBar::Realize() if (pTool->IsSeparator()) { - if (GetWindowStyleFlag() & wxTB_HORIZONTAL) + if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM)) { pTool->m_vX = m_vLastX + nSeparatorSize; pTool->m_vHeight = m_defaultHeight + m_vTextY; @@ -520,7 +525,7 @@ bool wxToolBar::Realize() } else if (pTool->IsButton()) { - if (GetWindowStyleFlag() & wxTB_HORIZONTAL) + if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM)) { if (m_nCurrentRowsOrColumns >= m_maxCols) { @@ -565,7 +570,7 @@ bool wxToolBar::Realize() node = node->GetNext(); } - if ( GetWindowStyleFlag() & wxTB_HORIZONTAL ) + if (GetWindowStyleFlag() & (wxTB_TOP | wxTB_BOTTOM)) m_maxWidth += nMaxToolWidth; else m_maxHeight += nMaxToolHeight; @@ -597,7 +602,8 @@ void wxToolBar::OnPaint ( return; nCount++; - ::WinFillRect(vDc.GetHPS(), &vDc.m_vRclPaint, GetBackgroundColour().GetPixel()); + wxPMDCImpl *impl = (wxPMDCImpl*) vDc.GetImpl(); + ::WinFillRect(impl->GetHPS(), &impl->m_vRclPaint, GetBackgroundColour().GetPixel()); for ( wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); node; node = node->GetNext() ) @@ -618,7 +624,7 @@ void wxToolBar::OnPaint ( vDc.SetPen(vDarkGreyPen); if (HasFlag(wxTB_TEXT)) { - if (HasFlag(wxTB_HORIZONTAL)) + if (HasFlag(wxTB_TOP) || HasFlag(wxTB_BOTTOM)) { nX = pTool->m_vX; nY = pTool->m_vY - (m_vTextY - 6); @@ -635,7 +641,7 @@ void wxToolBar::OnPaint ( { nX = pTool->m_vX; nY = pTool->m_vY; - if (HasFlag(wxTB_HORIZONTAL)) + if (HasFlag(wxTB_TOP) || HasFlag(wxTB_BOTTOM)) nHeight = pTool->GetHeight() - 2; else { @@ -873,7 +879,7 @@ void wxToolBar::DrawTool( wxDC& rDc, wxToolBarToolBase* pToolBase ) GetSize(&vX, &vY); rDc.DrawText( pTool->GetLabel() ,vLeft - ,vY - (m_vTextY - 2) + ,vY - m_vTextY - 1 ); } else // normal tools @@ -881,7 +887,7 @@ void wxToolBar::DrawTool( wxDC& rDc, wxToolBarToolBase* pToolBase ) vLeft += (wxCoord)((m_vTextX - vX)/2); rDc.DrawText( pTool->GetLabel() ,vLeft - ,pTool->m_vY + m_vTextY + 4 // a bit of margin + ,pTool->m_vY + m_vTextY - 1 // a bit of margin ); } } @@ -915,7 +921,7 @@ void wxToolBar::DrawTool( wxDC& rDc, wxToolBarToolBase* pToolBase ) vLeft += (wxCoord)((m_vTextX - vX)/2); rDc.DrawText( pTool->GetLabel() ,vLeft - ,pTool->m_vY + m_vTextY + 4 // a bit of margin + ,pTool->m_vY + m_vTextY - 1 // a bit of margin ); } } @@ -973,7 +979,7 @@ wxToolBarToolBase* wxToolBar::FindToolForPosition( } node = node->GetNext(); } - return (wxToolBarToolBase *)NULL; + return NULL; } // end of wxToolBar::FindToolForPosition // ---------------------------------------------------------------------------- @@ -1165,7 +1171,7 @@ void wxToolBar::RaiseTool ( wxToolBarToolBase* pToolBase, void wxToolBar::OnTimer ( wxTimerEvent& rEvent ) { - if (rEvent.GetId() == m_vToolTimer.GetTimerId()) + if (rEvent.GetId() == m_vToolTimer.GetId()) { wxPoint vPos( m_vXMouse, m_vYMouse ); @@ -1173,7 +1179,7 @@ void wxToolBar::OnTimer ( wxTimerEvent& rEvent ) m_vToolTimer.Stop(); m_vToolExpTimer.Start(4000L, TRUE); } - else if (rEvent.GetId() == m_vToolExpTimer.GetTimerId()) + else if (rEvent.GetId() == m_vToolExpTimer.GetId()) { m_pToolTip->HideToolTipWindow(); GetParent()->Refresh();