]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/checklst.cpp
Use type safe list for model notifiers, sample corrected
[wxWidgets.git] / src / motif / checklst.cpp
index 0d9bb1dc238aa658c19e5751a8256980deb84893..0205216a2b007529c53d71fbc2d68b24143bc323 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        checklst.cpp
+// Name:        src/motif/checklst.cpp
 // Purpose:     implementation of wxCheckListBox class
 // Author:      Julian Smart
 // Modified by:
 // Purpose:     implementation of wxCheckListBox class
 // Author:      Julian Smart
 // Modified by:
 // headers & declarations
 // ============================================================================
 
 // headers & declarations
 // ============================================================================
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "checklst.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // 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/checklst.h"
-#include "wx/arrstr.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/arrstr.h"
+#endif
 
 // ============================================================================
 // implementation
 
 // ============================================================================
 // implementation
@@ -58,7 +57,7 @@ static void CopyStringsAddingPrefix(const wxArrayString& orig,
     copy.Clear();
 
     for(size_t i = 0; i < orig.GetCount(); ++i )
     copy.Clear();
 
     for(size_t i = 0; i < orig.GetCount(); ++i )
-        copy.Add( Prefix(FALSE) + orig[i] );
+        copy.Add( Prefix(false) + orig[i] );
 }
 
 // def ctor: use Create() to really create the control
 }
 
 // def ctor: use Create() to really create the control
@@ -101,7 +100,7 @@ bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
     bool retVal = wxListBox::Create(parent, id, pos, size, n, choices,
                                     style, validator, name);
     return retVal;
     bool retVal = wxListBox::Create(parent, id, pos, size, n, choices,
                                     style, validator, name);
     return retVal;
-}   
+}
 
 bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
                             const wxPoint& pos,
 
 bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
                             const wxPoint& pos,
@@ -115,17 +114,17 @@ bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
     bool retVal = wxListBox::Create(parent, id, pos, size, choices,
                                     style, validator, name);
     return retVal;
     bool retVal = wxListBox::Create(parent, id, pos, size, choices,
                                     style, validator, name);
     return retVal;
-}   
+}
 
 // check items
 // -----------
 
 
 // check items
 // -----------
 
-bool wxCheckListBox::IsChecked(size_t uiIndex) const
+bool wxCheckListBox::IsChecked(unsigned int uiIndex) const
 {
     return ::IsChecked(wxListBox::GetString(uiIndex));
 }
 
 {
     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;
 {
     wxString label = wxListBox::GetString(uiIndex);
     if(::IsChecked(label) == bCheck) return;
@@ -135,7 +134,7 @@ void wxCheckListBox::Check(size_t uiIndex, bool bCheck)
 
 void wxCheckListBox::DoToggleItem( int n, int x )
 {
 
 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;
     {
         wxString label = wxListBox::GetString(n);
         label[1u] = (!::IsChecked(label)) ? checkChar : uncheckChar;
@@ -147,9 +146,9 @@ void wxCheckListBox::DoToggleItem( int n, int x )
         else if( HasClientUntypedData() )
             event.SetClientData( GetClientData(n) );
         event.SetInt(n);
         else if( HasClientUntypedData() )
             event.SetClientData( GetClientData(n) );
         event.SetInt(n);
-        event.SetExtraLong(TRUE);
+        event.SetExtraLong(true);
         event.SetEventObject(this);
         event.SetEventObject(this);
-        event.SetString( GetString( n ) );
+        event.SetString(GetString(n));
 
         GetEventHandler()->ProcessEvent(event);
     }
 
         GetEventHandler()->ProcessEvent(event);
     }
@@ -157,13 +156,13 @@ void wxCheckListBox::DoToggleItem( int n, int x )
 
 int wxCheckListBox::DoAppend(const wxString& item)
 {
 
 int wxCheckListBox::DoAppend(const wxString& item)
 {
-    return wxListBox::DoAppend( Prefix(FALSE) + item );
+    return wxListBox::DoAppend( Prefix(false) + item );
 }
 
 }
 
-int wxCheckListBox::FindString(const wxString& s) const
+int wxCheckListBox::FindString(const wxString& s, bool bCase) const
 {
 {
-    int n1 = wxListBox::FindString(Prefix(FALSE) + s);
-    int n2 = wxListBox::FindString(Prefix(TRUE) + s);
+    int n1 = wxListBox::FindString(Prefix(false) + s, bCase);
+    int n2 = wxListBox::FindString(Prefix(true) + s, bCase);
     int min = wxMin(n1, n2), max = wxMax(n1, n2);
 
     // why this works:
     int min = wxMin(n1, n2), max = wxMax(n1, n2);
 
     // why this works:
@@ -174,17 +173,17 @@ int wxCheckListBox::FindString(const wxString& s) const
     return min;
 }
 
     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);
 }
 
 {
     return wxListBox::GetString(n).substr(4);
 }
 
-void wxCheckListBox::DoInsertItems(const wxArrayString& items, int pos)
+void wxCheckListBox::DoInsertItems(const wxArrayString& items, unsigned int pos)
 {
     wxArrayString copy;
     CopyStringsAddingPrefix(items, copy);
 {
     wxArrayString copy;
     CopyStringsAddingPrefix(items, copy);
@@ -197,3 +196,5 @@ void wxCheckListBox::DoSetItems(const wxArrayString& items, void **clientData)
     CopyStringsAddingPrefix(items, copy);
     wxListBox::DoSetItems(copy, clientData);
 }
     CopyStringsAddingPrefix(items, copy);
     wxListBox::DoSetItems(copy, clientData);
 }
+
+#endif // wxUSE_CHECKLISTBOX