X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..9d8fe14a97d1092989eecbe43c4e1f730fba17ad:/src/motif/checklst.cpp?ds=sidebyside diff --git a/src/motif/checklst.cpp b/src/motif/checklst.cpp index 84a057a818..0205216a2b 100644 --- a/src/motif/checklst.cpp +++ b/src/motif/checklst.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: checklst.cpp +// Name: src/motif/checklst.cpp // Purpose: implementation of wxCheckListBox class // Author: Julian Smart // Modified by: @@ -13,17 +13,16 @@ // 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" -#include "wx/defs.h" +#if wxUSE_CHECKLISTBOX #include "wx/checklst.h" -#include "wx/arrstr.h" + +#ifndef WX_PRECOMP + #include "wx/arrstr.h" +#endif // ============================================================================ // implementation @@ -58,7 +57,7 @@ static void CopyStringsAddingPrefix(const wxArrayString& orig, 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 @@ -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 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; -} +} // 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; @@ -135,7 +134,7 @@ 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; @@ -146,10 +145,10 @@ void wxCheckListBox::DoToggleItem( int n, int x ) event.SetClientObject( GetClientObject(n) ); else if( HasClientUntypedData() ) event.SetClientData( GetClientData(n) ); - event.m_commandInt = n; - event.m_extraLong = TRUE; + event.SetInt(n); + event.SetExtraLong(true); event.SetEventObject(this); - event.SetString( GetString( n ) ); + event.SetString(GetString(n)); GetEventHandler()->ProcessEvent(event); } @@ -157,13 +156,13 @@ void wxCheckListBox::DoToggleItem( int n, int x ) 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: @@ -174,17 +173,17 @@ int wxCheckListBox::FindString(const wxString& s) 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) +void wxCheckListBox::DoInsertItems(const wxArrayString& items, unsigned int pos) { wxArrayString copy; CopyStringsAddingPrefix(items, copy); @@ -197,3 +196,5 @@ void wxCheckListBox::DoSetItems(const wxArrayString& items, void **clientData) CopyStringsAddingPrefix(items, copy); wxListBox::DoSetItems(copy, clientData); } + +#endif // wxUSE_CHECKLISTBOX