X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..373a5fb355f4023f96b14bbf8161cbd1de5b846e:/src/msw/checklst.cpp diff --git a/src/msw/checklst.cpp b/src/msw/checklst.cpp index 5657d50088..e13cc98cf2 100644 --- a/src/msw/checklst.cpp +++ b/src/msw/checklst.cpp @@ -6,7 +6,7 @@ // Created: 16.11.97 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWidgets licence +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -28,7 +28,7 @@ #pragma hdrstop #endif -#if wxUSE_OWNER_DRAWN +#if wxUSE_CHECKLISTBOX && wxUSE_OWNER_DRAWN #ifndef WX_PRECOMP #include "wx/object.h" @@ -80,7 +80,7 @@ wxBEGIN_FLAGS( wxCheckListBoxStyle ) wxFLAGS_MEMBER(wxBORDER_RAISED) wxFLAGS_MEMBER(wxBORDER_STATIC) wxFLAGS_MEMBER(wxBORDER_NONE) - + // old style border flags wxFLAGS_MEMBER(wxSIMPLE_BORDER) wxFLAGS_MEMBER(wxSUNKEN_BORDER) @@ -113,14 +113,14 @@ wxEND_FLAGS( wxCheckListBoxStyle ) IMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckListBox, wxListBox,"wx/checklst.h") wxBEGIN_PROPERTIES_TABLE(wxCheckListBox) - wxEVENT_PROPERTY( Toggle , wxEVT_COMMAND_CHECKLISTBOX_TOGGLED , wxCommandEvent ) + wxEVENT_PROPERTY( Toggle , wxEVT_COMMAND_CHECKLISTBOX_TOGGLED , wxCommandEvent ) wxPROPERTY_FLAGS( WindowStyle , wxCheckListBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , wxLB_OWNERDRAW /*flags*/ , wxT("Helpstring") , wxT("group")) // style wxEND_PROPERTIES_TABLE() wxBEGIN_HANDLERS_TABLE(wxCheckListBox) wxEND_HANDLERS_TABLE() -wxCONSTRUCTOR_4( wxCheckListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) +wxCONSTRUCTOR_4( wxCheckListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) #else IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox) @@ -157,9 +157,9 @@ private: }; wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox *pParent, size_t nIndex) - : wxOwnerDrawn(wxEmptyString, TRUE) // checkable + : wxOwnerDrawn(wxEmptyString, true) // checkable { - m_bChecked = FALSE; + m_bChecked = false; m_pParent = pParent; m_nIndex = nIndex; @@ -253,10 +253,10 @@ bool wxCheckListBoxItem::OnDrawItem(wxDC& dc, const wxRect& rc, } */ - return TRUE; + return true; } - return FALSE; + return false; } // change the state of the item and redraw it @@ -277,15 +277,15 @@ void wxCheckListBoxItem::Check(bool check) HWND hwndListbox = (HWND)m_pParent->GetHWND(); - RECT rcUpdate; + RECT rcUpdate; - if ( ::SendMessage(hwndListbox, LB_GETITEMRECT, - m_nIndex, (LPARAM)&rcUpdate) == LB_ERR ) - { - wxLogDebug(wxT("LB_GETITEMRECT failed")); - } + if ( ::SendMessage(hwndListbox, LB_GETITEMRECT, + m_nIndex, (LPARAM)&rcUpdate) == LB_ERR ) + { + wxLogDebug(wxT("LB_GETITEMRECT failed")); + } - InvalidateRect(hwndListbox, &rcUpdate, FALSE); + ::InvalidateRect(hwndListbox, &rcUpdate, FALSE); } // send an "item checked" event @@ -379,7 +379,7 @@ bool wxCheckListBox::SetFont( const wxFont &font ) wxListBox::SetFont(font); - return TRUE; + return true; } // create/retrieve item @@ -405,10 +405,10 @@ bool wxCheckListBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item) // add place for the check mark pStruct->itemWidth += wxOwnerDrawn::GetDefaultMarginWidth(); - return TRUE; + return true; } - return FALSE; + return false; } // check items @@ -416,7 +416,7 @@ bool wxCheckListBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item) bool wxCheckListBox::IsChecked(size_t uiIndex) const { - wxCHECK_MSG( uiIndex < (size_t)GetCount(), FALSE, _T("bad wxCheckListBox index") ); + wxCHECK_MSG( uiIndex < (size_t)GetCount(), false, _T("bad wxCheckListBox index") ); return GetItem(uiIndex)->IsChecked(); } @@ -547,5 +547,13 @@ int wxCheckListBox::DoHitTestItem(wxCoord x, wxCoord y) const return nItem >= m_noItems ? wxNOT_FOUND : nItem; } + +wxSize wxCheckListBox::DoGetBestSize() const +{ + wxSize best = wxListBox::DoGetBestSize(); + best.x += wxOwnerDrawn::GetDefaultMarginWidth(); // add room for the checkbox + return best; +} + #endif