]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/valgen.cpp
Apply patch that prevents a crash when more than
[wxWidgets.git] / src / common / valgen.cpp
index b4d296e619b9da167e1acbd18692aefc300feb3c..e9aaf19e38386f7a6057edb67a8c58d319e26cee 100644 (file)
   #include "wx/slider.h"
 #endif
 
+
   #include "wx/spinctrl.h"
 
-#if wxUSE_SPINBTN 
+#if wxUSE_SPINBTN
   #include "wx/spinbutt.h"
 #endif
-#if wxUSE_CHECKLISTBOX 
+#if wxUSE_CHECKLISTBOX
   #include "wx/checklst.h"
 #endif
 
@@ -97,18 +97,14 @@ bool wxGenericValidator::Copy(const wxGenericValidator& val)
     m_pString = val.m_pString;
     m_pArrayInt = val.m_pArrayInt;
 
-    return TRUE;
-}
-
-wxGenericValidator::~wxGenericValidator()
-{
+    return true;
 }
 
 // Called to transfer data to the window
 bool wxGenericValidator::TransferToWindow(void)
 {
     if ( !m_validatorWindow )
-        return FALSE;
+        return false;
 
     // bool controls
 #if wxUSE_CHECKBOX
@@ -118,7 +114,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pBool)
         {
             pControl->SetValue(*m_pBool);
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -129,7 +125,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pBool)
         {
             pControl->SetValue(*m_pBool) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -142,7 +138,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetValue(*m_pInt);
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -153,7 +149,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetSelection(*m_pInt) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -164,7 +160,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetThumbPosition(*m_pInt) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -175,7 +171,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetValue(*m_pInt);
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -186,7 +182,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetValue(*m_pInt) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -197,7 +193,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetValue(*m_pInt) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -210,7 +206,7 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pString)
         {
             pControl->SetLabel(*m_pString) ;
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -221,19 +217,19 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetSelection(*m_pInt) ;
-            return TRUE;
+            return true;
         }
         else if (m_pString)
         {
-            if (pControl->FindString(* m_pString) > -1)
+            if (pControl->FindString(* m_pString) != wxNOT_FOUND)
             {
                 pControl->SetStringSelection(* m_pString);
             }
-            else
+            if ((m_validatorWindow->GetWindowStyle() & wxCB_READONLY) == 0)
             {
                 pControl->SetValue(* m_pString);
             }
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -244,27 +240,29 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pInt)
         {
             pControl->SetSelection(*m_pInt) ;
-            return TRUE;
+            return true;
         }
         else if (m_pString)
         {
-            if (pControl->FindString(* m_pString) > -1)
+            if (pControl->FindString(* m_pString) != wxNOT_FOUND)
             {
                 pControl->SetStringSelection(* m_pString);
             }
-            return TRUE;
+            return true;
         }
     } else
 #endif
+#if wxUSE_STATTEXT
     if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
     {
         wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
         if (m_pString)
         {
             pControl->SetLabel(*m_pString) ;
-            return TRUE;
+            return true;
         }
     } else
+#endif
 #if wxUSE_TEXTCTRL
     if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
     {
@@ -272,14 +270,14 @@ bool wxGenericValidator::TransferToWindow(void)
         if (m_pString)
         {
             pControl->SetValue(*m_pString) ;
-            return TRUE;
+            return true;
         }
         else if (m_pInt)
         {
             wxString str;
             str.Printf(wxT("%d"), *m_pInt);
             pControl->SetValue(str);
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -295,17 +293,17 @@ bool wxGenericValidator::TransferToWindow(void)
             size_t i,
                    count = pControl->GetCount();
             for ( i = 0 ; i < count; i++ )
-                pControl->Check(i, FALSE);
+                pControl->Check(i, false);
 
             // select each item in our array
             count = m_pArrayInt->GetCount();
             for ( i = 0 ; i < count; i++ )
                 pControl->Check(m_pArrayInt->Item(i));
 
-            return TRUE;
+            return true;
         }
         else
-            return FALSE;
+            return false;
     } else
 #endif
 #if wxUSE_LISTBOX
@@ -325,21 +323,21 @@ bool wxGenericValidator::TransferToWindow(void)
             for ( i = 0 ; i < count; i++ )
                 pControl->SetSelection(m_pArrayInt->Item(i));
 
-            return TRUE;
+            return true;
         }
     } else
 #endif
         ;   // to match the last 'else' above
 
   // unrecognized control, or bad pointer
-  return FALSE;
+  return false;
 }
 
 // Called to transfer data from the window
 bool wxGenericValidator::TransferFromWindow(void)
 {
   if ( !m_validatorWindow )
-    return FALSE;
+    return false;
 
   // bool controls
 #if wxUSE_CHECKBOX
@@ -349,7 +347,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pBool)
     {
       *m_pBool = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -360,7 +358,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pBool)
     {
       *m_pBool = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -372,7 +370,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
     {
       *m_pInt = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -383,7 +381,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
     {
       *m_pInt = pControl->GetSelection() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -394,7 +392,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
     {
       *m_pInt = pControl->GetThumbPosition() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -405,7 +403,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
         {
             *m_pInt=pControl->GetValue();
-            return TRUE;
+            return true;
         }
     } else
 #endif
@@ -416,7 +414,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
     {
       *m_pInt = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -427,7 +425,7 @@ bool wxGenericValidator::TransferFromWindow(void)
     if (m_pInt)
     {
       *m_pInt = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -439,7 +437,7 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pString)
     {
       *m_pString = pControl->GetLabel() ;
-      return TRUE;
+      return true;
     }
   } else
 #endif
@@ -450,12 +448,15 @@ bool wxGenericValidator::TransferFromWindow(void)
     if (m_pInt)
     {
       *m_pInt = pControl->GetSelection() ;
-      return TRUE;
+      return true;
     }
     else if (m_pString)
     {
-        *m_pString = pControl->GetValue();
-        return TRUE;
+        if (m_validatorWindow->GetWindowStyle() & wxCB_READONLY)
+            *m_pString = pControl->GetStringSelection();
+        else
+            *m_pString = pControl->GetValue();
+        return true;
     }
   } else
 #endif
@@ -466,24 +467,26 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pInt)
     {
       *m_pInt = pControl->GetSelection() ;
-      return TRUE;
+      return true;
     }
     else if (m_pString)
     {
         *m_pString = pControl->GetStringSelection();
-        return TRUE;
+        return true;
     }
   } else
 #endif
+#if wxUSE_STATTEXT
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
   {
     wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
         if (m_pString)
     {
       *m_pString = pControl->GetLabel() ;
-      return TRUE;
+      return true;
     }
   } else
+#endif
 #if wxUSE_TEXTCTRL
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
   {
@@ -491,12 +494,12 @@ bool wxGenericValidator::TransferFromWindow(void)
         if (m_pString)
     {
       *m_pString = pControl->GetValue() ;
-      return TRUE;
+      return true;
     }
     else if (m_pInt)
     {
         *m_pInt = wxAtoi(pControl->GetValue());
-        return TRUE;
+        return true;
     }
   } else
 #endif
@@ -520,10 +523,10 @@ bool wxGenericValidator::TransferFromWindow(void)
           m_pArrayInt->Add(i);
       }
 
-      return TRUE;
+      return true;
     }
     else
-      return FALSE;
+      return false;
   } else
 #endif
 #if wxUSE_LISTBOX
@@ -544,14 +547,14 @@ bool wxGenericValidator::TransferFromWindow(void)
           m_pArrayInt->Add(i);
       }
 
-      return TRUE;
+      return true;
     }
   } else
 #endif
 
   // unrecognized control, or bad pointer
-    return FALSE;
-  return FALSE;
+    return false;
+  return false;
 }
 
 /*