X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1de4baa31f17548b32a376a71ce50fee6a3e759c..25758297101c1b4be1164357efc60e69b1d1127a:/src/os2/checklst.cpp diff --git a/src/os2/checklst.cpp b/src/os2/checklst.cpp index f3a639ff6a..e1883b8545 100644 --- a/src/os2/checklst.cpp +++ b/src/os2/checklst.cpp @@ -27,6 +27,7 @@ #include "wx/ownerdrw.h" #include "wx/settings.h" #include "wx/dcmemory.h" +#include "wx/dcscreen.h" #include "wx/os2/checklst.h" #include "wx/log.h" @@ -112,6 +113,9 @@ bool wxCheckListBoxItem::OnDrawItem ( { wxRect vRect = rRect; + ::WinQueryWindowRect( m_pParent->GetHWND() + ,&rDc.m_vRclPaint + ); if (IsChecked()) eStat = (wxOwnerDrawn::wxODStatus)(eStat | wxOwnerDrawn::wxODChecked); @@ -141,9 +145,6 @@ bool wxCheckListBoxItem::OnDrawItem ( m_pParent->GetSize( NULL ,&nParentHeight ); - ::WinQueryWindowRect( m_pParent->GetHWND() - ,&rDc.m_vRclPaint - ); nY = nParentHeight - nY - nCheckHeight; vPenBack = wxPen(vColour, 1, wxSOLID); @@ -225,9 +226,6 @@ void wxCheckListBoxItem::Check ( m_nIndex = (size_t)nIndex; } - HWND hWndListbox = (HWND)m_pParent->GetHWND(); - RECTL rUpdate; - MRESULT mRc; wxCommandEvent vEvent( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED ,m_pParent->GetId() @@ -273,9 +271,7 @@ wxCheckListBox::wxCheckListBox ( , int nStrings , const wxString asChoices[] , long lStyle -#if wxUSE_VALIDATORS , const wxValidator& rVal -#endif , const wxString& rsName ) : wxListBox() @@ -287,9 +283,32 @@ wxCheckListBox::wxCheckListBox ( ,nStrings ,asChoices ,lStyle | wxLB_OWNERDRAW -#if wxUSE_VALIDATORS ,rVal -#endif + ,rsName + ); +} // end of wxCheckListBox::wxCheckListBox + +wxCheckListBox::wxCheckListBox ( + wxWindow* pParent +, wxWindowID vId +, const wxPoint& rPos +, const wxSize& rSize +, const wxArrayString& asChoices +, long lStyle +, const wxValidator& rVal +, const wxString& rsName +) + : wxListBox() +{ + wxCArrayString chs(asChoices); + Create( pParent + ,vId + ,rPos + ,rSize + ,chs.GetCount() + ,chs.GetStrings() + ,lStyle | wxLB_OWNERDRAW + ,rVal ,rsName ); } // end of wxCheckListBox::wxCheckListBox @@ -372,7 +391,7 @@ wxOwnerDrawn* wxCheckListBox::CreateItem ( // Return item size // ---------------- // -bool wxCheckListBox::OS2OnMeasure ( +long wxCheckListBox::OS2OnMeasure ( WXMEASUREITEMSTRUCT* pItem ) { @@ -391,9 +410,9 @@ bool wxCheckListBox::OS2OnMeasure ( // Add place for the check mark // pStruct->rclItem.xRight += wxOwnerDrawn::GetDefaultMarginWidth(); - return TRUE; + return long(MRFROM2SHORT((USHORT)m_nItemHeight, (USHORT)(pStruct->rclItem.xRight - pStruct->rclItem.xLeft))); } - return FALSE; + return 0L; } // end of wxCheckListBox::CreateItem // @@ -423,7 +442,7 @@ void wxCheckListBox::OnChar ( wxKeyEvent& rEvent ) { - if (rEvent.KeyCode() == WXK_SPACE) + if (rEvent.GetKeyCode() == WXK_SPACE) GetItem(GetSelection())->Toggle(); else rEvent.Skip(); @@ -446,7 +465,7 @@ void wxCheckListBox::OnLeftClick ( ,&nParentHeight ); vDc.SetFont(GetFont()); - vHeight = vDc.GetCharHeight() * 2.5; + vHeight = (wxCoord)(vDc.GetCharHeight() * 2.5); // // This, of course, will not work if the LB is scrolled