X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71908213057690d5452f72b2b9c8e62b53357170..da87911d658e7dd7f08936b3f52fed9ab17a5712:/src/univ/checklst.cpp diff --git a/src/univ/checklst.cpp b/src/univ/checklst.cpp index 5a1c9c0cd5..5633b9d24c 100644 --- a/src/univ/checklst.cpp +++ b/src/univ/checklst.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: univ/checklst.cpp +// Name: src/univ/checklst.cpp // Purpose: wxCheckListBox implementation // Author: Vadim Zeitlin // Modified by: @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "checklst.h" -#endif - #include "wx/wxprec.h" #ifdef __BORLANDC__ @@ -29,11 +25,11 @@ #if wxUSE_CHECKLISTBOX +#include "wx/checklst.h" + #ifndef WX_PRECOMP #include "wx/log.h" - #include "wx/dcclient.h" - #include "wx/checklst.h" #include "wx/validate.h" #endif @@ -55,6 +51,35 @@ void wxCheckListBox::Init() { } +wxCheckListBox::wxCheckListBox(wxWindow *parent, + wxWindowID id, + const wxPoint &pos, + const wxSize &size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString &name) +{ + Init(); + + Create(parent, id, pos, size, choices, style, validator, name); +} + +bool wxCheckListBox::Create(wxWindow *parent, + wxWindowID id, + const wxPoint &pos, + const wxSize &size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString &name) +{ + wxCArrayString chs(choices); + + return Create(parent, id, pos, size, chs.GetCount(), chs.GetStrings(), + style, validator, name); +} + bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id, const wxPoint &pos, @@ -67,28 +92,28 @@ bool wxCheckListBox::Create(wxWindow *parent, { if ( !wxListBox::Create(parent, id, pos, size, n, choices, style, validator, name) ) - return FALSE; + return false; CreateInputHandler(wxINP_HANDLER_CHECKLISTBOX); - return TRUE; + return true; } // ---------------------------------------------------------------------------- // wxCheckListBox functions // ---------------------------------------------------------------------------- -bool wxCheckListBox::IsChecked(size_t item) const +bool wxCheckListBox::IsChecked(unsigned int item) const { - wxCHECK_MSG( item < m_checks.GetCount(), FALSE, + wxCHECK_MSG( IsValid(item), false, _T("invalid index in wxCheckListBox::IsChecked") ); return m_checks[item] != 0; } -void wxCheckListBox::Check(size_t item, bool check) +void wxCheckListBox::Check(unsigned int item, bool check) { - wxCHECK_RET( item < m_checks.GetCount(), + wxCHECK_RET( IsValid(item), _T("invalid index in wxCheckListBox::Check") ); // intermediate var is needed to avoid compiler warning with VC++ @@ -105,9 +130,9 @@ void wxCheckListBox::Check(size_t item, bool check) // methods forwarded to wxListBox // ---------------------------------------------------------------------------- -void wxCheckListBox::Delete(int n) +void wxCheckListBox::Delete(unsigned int n) { - wxCHECK_RET( n < GetCount(), _T("invalid index in wxListBox::Delete") ); + wxCHECK_RET( IsValid(n), _T("invalid index in wxListBox::Delete") ); wxListBox::Delete(n); @@ -119,19 +144,19 @@ int wxCheckListBox::DoAppend(const wxString& item) int pos = wxListBox::DoAppend(item); // the item is initially unchecked - m_checks.Insert(FALSE, pos); + m_checks.Insert(false, pos); return pos; } -void wxCheckListBox::DoInsertItems(const wxArrayString& items, int pos) +void wxCheckListBox::DoInsertItems(const wxArrayString& items, unsigned int pos) { wxListBox::DoInsertItems(items, pos); - size_t count = items.GetCount(); - for ( size_t n = 0; n < count; n++ ) + unsigned int count = items.GetCount(); + for ( unsigned int n = 0; n < count; n++ ) { - m_checks.Insert(FALSE, pos + n); + m_checks.Insert(false, pos + n); } } @@ -140,10 +165,10 @@ void wxCheckListBox::DoSetItems(const wxArrayString& items, void **clientData) // call it first as it does DoClear() wxListBox::DoSetItems(items, clientData); - size_t count = items.GetCount(); - for ( size_t n = 0; n < count; n++ ) + unsigned int count = items.GetCount(); + for ( unsigned int n = 0; n < count; n++ ) { - m_checks.Add(FALSE); + m_checks.Add(false); } } @@ -198,7 +223,7 @@ bool wxCheckListBox::PerformAction(const wxControlAction& action, return wxListBox::PerformAction(action, numArg, strArg); } - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -211,26 +236,26 @@ wxStdCheckListboxInputHandler(wxInputHandler *inphand) { } -bool wxStdCheckListboxInputHandler::HandleKey(wxControl *control, +bool wxStdCheckListboxInputHandler::HandleKey(wxInputConsumer *consumer, const wxKeyEvent& event, bool pressed) { if ( pressed && (event.GetKeyCode() == WXK_SPACE) ) - control->PerformAction(wxACTION_CHECKLISTBOX_TOGGLE); + consumer->PerformAction(wxACTION_CHECKLISTBOX_TOGGLE); - return wxStdListboxInputHandler::HandleKey(control, event, pressed); + return wxStdListboxInputHandler::HandleKey(consumer, event, pressed); } -bool wxStdCheckListboxInputHandler::HandleMouse(wxControl *control, +bool wxStdCheckListboxInputHandler::HandleMouse(wxInputConsumer *consumer, const wxMouseEvent& event) { if ( event.LeftDown() || event.LeftDClick() ) { - wxCheckListBox *lbox = wxStaticCast(control, wxCheckListBox); + wxCheckListBox *lbox = wxStaticCast(consumer->GetInputWindow(), wxCheckListBox); int x, y; wxPoint pt = event.GetPosition(); - pt -= control->GetClientAreaOrigin(); + pt -= consumer->GetInputWindow()->GetClientAreaOrigin(); lbox->CalcUnscrolledPosition(pt.x, pt.y, &x, &y); wxRenderer *renderer = lbox->GetRenderer(); @@ -240,15 +265,15 @@ bool wxStdCheckListboxInputHandler::HandleMouse(wxControl *control, if ( x >= 0 && x < renderer->GetCheckBitmapSize().x && item >= 0 && - item < lbox->GetCount() ) + (unsigned int)item < lbox->GetCount() ) { lbox->PerformAction(wxACTION_CHECKLISTBOX_TOGGLE, item); - return TRUE; + return true; } } - return wxStdListboxInputHandler::HandleMouse(control, event); + return wxStdListboxInputHandler::HandleMouse(consumer, event); } #endif // wxUSE_CHECKLISTBOX