/////////////////////////////////////////////////////////////////////////////
-// Name: univ/checklst.cpp
+// Name: src/univ/checklst.cpp
// Purpose: wxCheckListBox implementation
// Author: Vadim Zeitlin
// Modified by:
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma implementation "checklst.h"
-#endif
-
#include "wx/wxprec.h"
#ifdef __BORLANDC__
{
}
+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,
{
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++
// 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);
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);
}
}
// 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);
}
}
return wxListBox::PerformAction(action, numArg, strArg);
}
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
{
}
-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();
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