-///////////////////////////////////////////////////////////////////////////////\r
-// Name: src/common/checklstcmn.cpp\r
-// Purpose: wxCheckListBox common code\r
-// Author: Vadim Zeitlin\r
-// Modified by:\r
-// Created: 16.11.97\r
-// RCS-ID: $Id: checklst.cpp 45515 2007-04-17 01:19:43Z VZ $\r
-// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>\r
-// Licence: wxWindows licence\r
-///////////////////////////////////////////////////////////////////////////////\r
-\r
-// ============================================================================\r
-// declarations\r
-// ============================================================================\r
-\r
-// ----------------------------------------------------------------------------\r
-// headers\r
-// ----------------------------------------------------------------------------\r
-\r
-// For compilers that support precompilation, includes "wx.h".\r
-#include "wx/wxprec.h"\r
-\r
-#ifdef __BORLANDC__\r
- #pragma hdrstop\r
-#endif\r
-\r
-#if wxUSE_CHECKLISTBOX && wxUSE_OWNER_DRAWN\r
-\r
-#include "wx/checklst.h"\r
-\r
-#ifndef WX_PRECOMP\r
- #include "wx/msw/wrapcctl.h"\r
- #include "wx/object.h"\r
- #include "wx/colour.h"\r
- #include "wx/font.h"\r
- #include "wx/bitmap.h"\r
- #include "wx/window.h"\r
- #include "wx/listbox.h"\r
- #include "wx/dcmemory.h"\r
- #include "wx/settings.h"\r
- #include "wx/log.h"\r
-#endif\r
-\r
-// ----------------------------------------------------------------------------\r
-// XTI\r
-// ----------------------------------------------------------------------------\r
-\r
-wxDEFINE_FLAGS( wxCheckListBoxStyle )\r
-wxBEGIN_FLAGS( wxCheckListBoxStyle )\r
- // new style border flags, we put them first to\r
- // use them for streaming out\r
- wxFLAGS_MEMBER(wxBORDER_SIMPLE)\r
- wxFLAGS_MEMBER(wxBORDER_SUNKEN)\r
- wxFLAGS_MEMBER(wxBORDER_DOUBLE)\r
- wxFLAGS_MEMBER(wxBORDER_RAISED)\r
- wxFLAGS_MEMBER(wxBORDER_STATIC)\r
- wxFLAGS_MEMBER(wxBORDER_NONE)\r
-\r
- // old style border flags\r
- wxFLAGS_MEMBER(wxSIMPLE_BORDER)\r
- wxFLAGS_MEMBER(wxSUNKEN_BORDER)\r
- wxFLAGS_MEMBER(wxDOUBLE_BORDER)\r
- wxFLAGS_MEMBER(wxRAISED_BORDER)\r
- wxFLAGS_MEMBER(wxSTATIC_BORDER)\r
- wxFLAGS_MEMBER(wxBORDER)\r
-\r
- // standard window styles\r
- wxFLAGS_MEMBER(wxTAB_TRAVERSAL)\r
- wxFLAGS_MEMBER(wxCLIP_CHILDREN)\r
- wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)\r
- wxFLAGS_MEMBER(wxWANTS_CHARS)\r
- wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)\r
- wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )\r
- wxFLAGS_MEMBER(wxVSCROLL)\r
- wxFLAGS_MEMBER(wxHSCROLL)\r
-\r
- wxFLAGS_MEMBER(wxLB_SINGLE)\r
- wxFLAGS_MEMBER(wxLB_MULTIPLE)\r
- wxFLAGS_MEMBER(wxLB_EXTENDED)\r
- wxFLAGS_MEMBER(wxLB_HSCROLL)\r
- wxFLAGS_MEMBER(wxLB_ALWAYS_SB)\r
- wxFLAGS_MEMBER(wxLB_NEEDED_SB)\r
- wxFLAGS_MEMBER(wxLB_SORT)\r
- wxFLAGS_MEMBER(wxLB_OWNERDRAW)\r
-\r
-wxEND_FLAGS( wxCheckListBoxStyle )\r
-\r
-wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckListBox, wxListBox, "wx/checklst.h")\r
-\r
-wxBEGIN_PROPERTIES_TABLE(wxCheckListBox)\r
- wxEVENT_PROPERTY( Toggle, wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEvent )\r
- wxPROPERTY_FLAGS( WindowStyle, wxCheckListBoxStyle, long, SetWindowStyleFlag, \\r
- GetWindowStyleFlag, wxEMPTY_PARAMETER_VALUE, wxLB_OWNERDRAW /*flags*/, \\r
- wxT("Helpstring"), wxT("group")) // style\r
-wxEND_PROPERTIES_TABLE()\r
-\r
-wxEMPTY_HANDLERS_TABLE(wxCheckListBox)\r
-\r
-wxCONSTRUCTOR_4( wxCheckListBox, wxWindow*, Parent, wxWindowID, Id, \\r
- wxPoint, Position, wxSize, Size )\r
-\r
-\r
-#endif\r
+///////////////////////////////////////////////////////////////////////////////
+// Name: src/common/checklstcmn.cpp
+// Purpose: wxCheckListBox common code
+// Author: Vadim Zeitlin
+// Modified by:
+// Created: 16.11.97
+// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_CHECKLISTBOX
+
+#include "wx/checklst.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/object.h"
+ #include "wx/colour.h"
+ #include "wx/font.h"
+ #include "wx/bitmap.h"
+ #include "wx/window.h"
+ #include "wx/listbox.h"
+ #include "wx/dcmemory.h"
+ #include "wx/settings.h"
+ #include "wx/log.h"
+#endif
+
+// ----------------------------------------------------------------------------
+// XTI
+// ----------------------------------------------------------------------------
+
+wxDEFINE_FLAGS( wxCheckListBoxStyle )
+wxBEGIN_FLAGS( wxCheckListBoxStyle )
+ // new style border flags, we put them first to
+ // use them for streaming out
+ wxFLAGS_MEMBER(wxBORDER_SIMPLE)
+ wxFLAGS_MEMBER(wxBORDER_SUNKEN)
+ wxFLAGS_MEMBER(wxBORDER_DOUBLE)
+ wxFLAGS_MEMBER(wxBORDER_RAISED)
+ wxFLAGS_MEMBER(wxBORDER_STATIC)
+ wxFLAGS_MEMBER(wxBORDER_NONE)
+
+ // old style border flags
+ wxFLAGS_MEMBER(wxSIMPLE_BORDER)
+ wxFLAGS_MEMBER(wxSUNKEN_BORDER)
+ wxFLAGS_MEMBER(wxDOUBLE_BORDER)
+ wxFLAGS_MEMBER(wxRAISED_BORDER)
+ wxFLAGS_MEMBER(wxSTATIC_BORDER)
+ wxFLAGS_MEMBER(wxBORDER)
+
+ // standard window styles
+ wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
+ wxFLAGS_MEMBER(wxCLIP_CHILDREN)
+ wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ wxFLAGS_MEMBER(wxWANTS_CHARS)
+ wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
+ wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ wxFLAGS_MEMBER(wxVSCROLL)
+ wxFLAGS_MEMBER(wxHSCROLL)
+
+ wxFLAGS_MEMBER(wxLB_SINGLE)
+ wxFLAGS_MEMBER(wxLB_MULTIPLE)
+ wxFLAGS_MEMBER(wxLB_EXTENDED)
+ wxFLAGS_MEMBER(wxLB_HSCROLL)
+ wxFLAGS_MEMBER(wxLB_ALWAYS_SB)
+ wxFLAGS_MEMBER(wxLB_NEEDED_SB)
+ wxFLAGS_MEMBER(wxLB_SORT)
+ wxFLAGS_MEMBER(wxLB_OWNERDRAW)
+
+wxEND_FLAGS( wxCheckListBoxStyle )
+
+wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckListBox, wxListBox, "wx/checklst.h")
+
+wxBEGIN_PROPERTIES_TABLE(wxCheckListBox)
+ wxEVENT_PROPERTY( Toggle, wxEVT_CHECKLISTBOX, wxCommandEvent )
+ wxPROPERTY_FLAGS( WindowStyle, wxCheckListBoxStyle, long, SetWindowStyleFlag, \
+ GetWindowStyleFlag, wxEMPTY_PARAMETER_VALUE, wxLB_OWNERDRAW /*flags*/, \
+ wxT("Helpstring"), wxT("group")) // style
+wxEND_PROPERTIES_TABLE()
+
+wxEMPTY_HANDLERS_TABLE(wxCheckListBox)
+
+wxCONSTRUCTOR_4( wxCheckListBox, wxWindow*, Parent, wxWindowID, Id, \
+ wxPoint, Position, wxSize, Size )
+
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+unsigned int wxCheckListBoxBase::GetCheckedItems(wxArrayInt& checkedItems) const
+{
+ unsigned int const numberOfItems = GetCount();
+
+ checkedItems.clear();
+ for ( unsigned int i = 0; i < numberOfItems; ++i )
+ {
+ if ( IsChecked(i) )
+ checkedItems.push_back(i);
+ }
+
+ return checkedItems.size();
+}
+
+#endif