]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/checklst.cpp
fix another memory leak in SetCommand() (coverity checker CID 52)
[wxWidgets.git] / src / motif / checklst.cpp
index 32b4ee6f082fe4e6f8aef624616441474fdee167..b2e28eb366ab6ea370b1536e4d4c50841cf1b912 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        checklst.cpp
+// Name:        src/motif/checklst.cpp
 // Purpose:     implementation of wxCheckListBox class
 // Author:      Julian Smart
 // Modified by:
@@ -13,9 +13,8 @@
 // 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"
 
 #include "wx/arrstr.h"
 
 // ============================================================================
-// implementation of wxCheckListBoxBase
-// ============================================================================
-
-wxCheckListBoxBase::wxCheckListBoxBase()
-{
-}
-
-// ============================================================================
-// implementation of wxCheckListBox
+// implementation
 // ============================================================================
 
 IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox)
@@ -63,7 +54,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
@@ -83,6 +74,17 @@ 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,
@@ -95,7 +97,21 @@ 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,
+                            const wxSize& size,
+                            const wxArrayString& 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, choices,
+                                    style, validator, name);
+    return retVal;
+}
 
 // check items
 // -----------
@@ -126,8 +142,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 ) );
 
@@ -137,13 +153,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: