// Created: 16.11.97
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
#pragma hdrstop
#endif
-#if wxUSE_OWNER_DRAWN
+#if wxUSE_CHECKLISTBOX && wxUSE_OWNER_DRAWN
#ifndef WX_PRECOMP
#include "wx/object.h"
wxFLAGS_MEMBER(wxBORDER_RAISED)
wxFLAGS_MEMBER(wxBORDER_STATIC)
wxFLAGS_MEMBER(wxBORDER_NONE)
-
+
// old style border flags
wxFLAGS_MEMBER(wxSIMPLE_BORDER)
wxFLAGS_MEMBER(wxSUNKEN_BORDER)
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)
};
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;
}
*/
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
// change the state of the item and redraw it
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
wxListBox::SetFont(font);
- return TRUE;
+ return true;
}
// create/retrieve item
// add place for the check mark
pStruct->itemWidth += wxOwnerDrawn::GetDefaultMarginWidth();
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
// check items
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();
}
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