]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/checklst.cpp
Fix stc doxygen warnings and regen stc files.
[wxWidgets.git] / src / motif / checklst.cpp
index b2e28eb366ab6ea370b1536e4d4c50841cf1b912..9076a79c778ee1044d4c1dada98cefd1575376e1 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     17/09/98
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/defs.h"
+#if wxUSE_CHECKLISTBOX
 
 #include "wx/checklst.h"
-#include "wx/arrstr.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/arrstr.h"
+#endif
 
 // ============================================================================
 // implementation
 // ============================================================================
 
-IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox)
-
 // ----------------------------------------------------------------------------
 // implementation of wxCheckListBox class
 // ----------------------------------------------------------------------------
@@ -48,15 +48,6 @@ static inline const wxString& Prefix(bool checked)
 static inline bool IsChecked(const wxString& s)
     { wxASSERT(s.length() >=4); return s[1] == checkChar; }
 
-static void CopyStringsAddingPrefix(const wxArrayString& orig,
-                                    wxArrayString& copy)
-{
-    copy.Clear();
-
-    for(size_t i = 0; i < orig.GetCount(); ++i )
-        copy.Add( Prefix(false) + orig[i] );
-}
-
 // def ctor: use Create() to really create the control
 wxCheckListBox::wxCheckListBox() : wxCheckListBoxBase()
 {
@@ -116,12 +107,12 @@ bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
 // check items
 // -----------
 
-bool wxCheckListBox::IsChecked(size_t uiIndex) const
+bool wxCheckListBox::IsChecked(unsigned int uiIndex) const
 {
     return ::IsChecked(wxListBox::GetString(uiIndex));
 }
 
-void wxCheckListBox::Check(size_t uiIndex, bool bCheck)
+void wxCheckListBox::Check(unsigned int uiIndex, bool bCheck)
 {
     wxString label = wxListBox::GetString(uiIndex);
     if(::IsChecked(label) == bCheck) return;
@@ -131,13 +122,13 @@ void wxCheckListBox::Check(size_t uiIndex, bool bCheck)
 
 void wxCheckListBox::DoToggleItem( int n, int x )
 {
-    if( x < 23 )
+    if( x > 0 && x < 23 )
     {
         wxString label = wxListBox::GetString(n);
         label[1u] = (!::IsChecked(label)) ? checkChar : uncheckChar;
         wxListBox::SetString(n, label);
 
-        wxCommandEvent event(wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId());
+        wxCommandEvent event(wxEVT_CHECKLISTBOX, GetId());
         if( HasClientObjectData() )
             event.SetClientObject( GetClientObject(n) );
         else if( HasClientUntypedData() )
@@ -145,17 +136,12 @@ void wxCheckListBox::DoToggleItem( int n, int x )
         event.SetInt(n);
         event.SetExtraLong(true);
         event.SetEventObject(this);
-        event.SetString( GetString( n ) );
+        event.SetString(GetString(n));
 
-        GetEventHandler()->ProcessEvent(event);
+        HandleWindowEvent(event);
     }
 }
 
-int wxCheckListBox::DoAppend(const wxString& item)
-{
-    return wxListBox::DoAppend( Prefix(false) + item );
-}
-
 int wxCheckListBox::FindString(const wxString& s, bool bCase) const
 {
     int n1 = wxListBox::FindString(Prefix(false) + s, bCase);
@@ -170,26 +156,26 @@ int wxCheckListBox::FindString(const wxString& s, bool bCase) const
     return min;
 }
 
-void wxCheckListBox::SetString(int n, const wxString& s)
+void wxCheckListBox::SetString(unsigned int n, const wxString& s)
 {
-    wxListBox::SetString( n, Prefix(IsChecked(n)) + s );
+    wxListBox::SetString(n, Prefix(IsChecked(n)) + s);
 }
 
-wxString wxCheckListBox::GetString(int n) const
+wxString wxCheckListBox::GetString(unsigned int n) const
 {
     return wxListBox::GetString(n).substr(4);
 }
 
-void wxCheckListBox::DoInsertItems(const wxArrayString& items, int pos)
+int wxCheckListBox::DoInsertItems(const wxArrayStringsAdapter& items,
+                                  unsigned int pos,
+                                  void **clientData, wxClientDataType type)
 {
     wxArrayString copy;
-    CopyStringsAddingPrefix(items, copy);
-    wxListBox::DoInsertItems(copy, pos);
-}
+    copy.reserve(pos);
+    for ( size_t i = 0; i < items.GetCount(); ++i )
+        copy.push_back( Prefix(false) + items[i] );
 
-void wxCheckListBox::DoSetItems(const wxArrayString& items, void **clientData)
-{
-    wxArrayString copy;
-    CopyStringsAddingPrefix(items, copy);
-    wxListBox::DoSetItems(copy, clientData);
+    return wxListBox::DoInsertItems(copy, pos, clientData, type);
 }
+
+#endif // wxUSE_CHECKLISTBOX