X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd2807075daa30bf7e9f46172dcdb339cee2f43a..9bb50fd0b04c824fc7ba14c0dc4ba4a2a9a1e6ad:/src/motif/checklst.cpp?ds=sidebyside diff --git a/src/motif/checklst.cpp b/src/motif/checklst.cpp index d336369d55..bffaa37ebf 100644 --- a/src/motif/checklst.cpp +++ b/src/motif/checklst.cpp @@ -13,13 +13,17 @@ // headers & declarations // ============================================================================ -#ifdef __GNUG__ +#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" #include "wx/checklst.h" +#include "wx/arrstr.h" // ============================================================================ // implementation @@ -54,17 +58,7 @@ static void CopyStringsAddingPrefix(const wxArrayString& orig, copy.Clear(); for(size_t i = 0; i < orig.GetCount(); ++i ) - copy.Add( Prefix(FALSE) + orig[i] ); -} - -static wxString* CopyStringsAddingPrefix(size_t n, const wxString choices[]) -{ - wxString* copy = new wxString[n]; - - for(size_t i = 0; i < n; ++i ) - copy[i] = Prefix(FALSE) + choices[i]; - - return copy; + copy.Add( Prefix(false) + orig[i] ); } // def ctor: use Create() to really create the control @@ -84,18 +78,42 @@ wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id, style, val, name); } +wxCheckListBox::wxCheckListBox(wxWindow *parent, wxWindowID id, + const wxPoint& pos, const wxSize& size, + const wxArrayString& choices, + long style, const wxValidator& val, + const wxString& name) + : wxCheckListBoxBase() +{ + Create(parent, id, pos, size, choices, + style, val, name); +} + +bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + int n, const wxString choices[], + long style, + const wxValidator& validator, + const wxString& name) +{ + // wxListBox::Create calls set, which adds the prefixes + 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 = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int n = 0, const wxString choices[] = NULL, - long style = 0, - const wxValidator& validator = wxDefaultValidator, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator, const wxString& name) { - wxString* chs = CopyStringsAddingPrefix(n, choices); - bool retVal = wxListBox::Create(parent, id, pos, size, n, chs, + // wxListBox::Create calls set, which adds the prefixes + bool retVal = wxListBox::Create(parent, id, pos, size, choices, style, validator, name); - delete[] chs; return retVal; } @@ -128,8 +146,8 @@ 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 ) ); @@ -139,13 +157,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 n1 = wxListBox::FindString(Prefix(FALSE) + s); - int n2 = wxListBox::FindString(Prefix(TRUE) + s); + int n1 = wxListBox::FindString(Prefix(false) + s); + int n2 = wxListBox::FindString(Prefix(true) + s); int min = wxMin(n1, n2), max = wxMax(n1, n2); // why this works: