#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"
{
wxRect vRect = rRect;
+ ::WinQueryWindowRect( m_pParent->GetHWND()
+ ,&rDc.m_vRclPaint
+ );
if (IsChecked())
eStat = (wxOwnerDrawn::wxODStatus)(eStat | wxOwnerDrawn::wxODChecked);
//
// Unfortunately PM doesn't quite get the text position exact. We need to alter
// it down and to the right, just a little bit. The coords in rRect are OS/2
- // coords not wxWindows coords.
+ // coords not wxWidgets coords.
//
vRect.x += 5;
vRect.y -= 3;
m_pParent->GetSize( NULL
,&nParentHeight
);
- ::WinQueryWindowRect( m_pParent->GetHWND()
- ,&rDc.m_vRclPaint
- );
nY = nParentHeight - nY - nCheckHeight;
vPenBack = wxPen(vColour, 1, wxSOLID);
m_nIndex = (size_t)nIndex;
}
- HWND hWndListbox = (HWND)m_pParent->GetHWND();
- RECTL rUpdate;
- MRESULT mRc;
wxCommandEvent vEvent( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED
,m_pParent->GetId()
, int nStrings
, const wxString asChoices[]
, long lStyle
-#if wxUSE_VALIDATORS
, const wxValidator& rVal
-#endif
, const wxString& rsName
)
: wxListBox()
,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
// Return item size
// ----------------
//
-bool wxCheckListBox::OS2OnMeasure (
+long wxCheckListBox::OS2OnMeasure (
WXMEASUREITEMSTRUCT* pItem
)
{
// 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
//
wxKeyEvent& rEvent
)
{
- if (rEvent.KeyCode() == WXK_SPACE)
+ if (rEvent.GetKeyCode() == WXK_SPACE)
GetItem(GetSelection())->Toggle();
else
rEvent.Skip();
,&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