]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/valgen.cpp
Fixed the GetDataSource() function so the DsDesc that is returned is the full description
[wxWidgets.git] / src / common / valgen.cpp
index 7d64b2165c4a6a408c80e6739d28100d38de32ed..05134307bc4f194da69551361c832998a58a9e02 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Kevin Smith
 // Modified by:
 // Created:     Jan 22 1999
 // Author:      Kevin Smith
 // Modified by:
 // Created:     Jan 22 1999
-// RCS-ID:      
+// RCS-ID:
 // Copyright:   (c) 1999 Kevin Smith
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 1999 Kevin Smith
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+  #pragma hdrstop
 #endif
 
 #ifndef WX_PRECOMP
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx/utils.h"
-#include "wx/intl.h"
-#include "wx/wx.h"
-#include "wx/dynarray.h"
+  #include "wx/defs.h"
+#endif
+
+#if wxUSE_VALIDATORS
+
+#ifndef WX_PRECOMP
+  #include "wx/utils.h"
+  #include "wx/intl.h"
+  #include "wx/dynarray.h"
+  #include "wx/choice.h"
+  #include "wx/combobox.h"
+  #include "wx/radiobox.h"
+  #include "wx/radiobut.h"
+  #include "wx/checkbox.h"
+  #include "wx/scrolbar.h"
+  #include "wx/gauge.h"
+  #include "wx/stattext.h"
+  #include "wx/textctrl.h"
+  #include "wx/button.h"
+  #include "wx/listbox.h"
+  #include "wx/slider.h"
 #endif
 
 #ifndef __WIN16__
 #endif
 
 #ifndef __WIN16__
-#include "wx/spinbutt.h"
-#include "wx/checklst.h"
+  #include "wx/spinbutt.h"
+  #include "wx/checklst.h"
 #endif
 
 #include "wx/valgen.h"
 
 wxGenericValidator::wxGenericValidator(bool *val)
 {
 #endif
 
 #include "wx/valgen.h"
 
 wxGenericValidator::wxGenericValidator(bool *val)
 {
-  Initialize();
-  m_pBool = val;
+    Initialize();
+    m_pBool = val;
 }
 
 wxGenericValidator::wxGenericValidator(int *val)
 {
 }
 
 wxGenericValidator::wxGenericValidator(int *val)
 {
-  Initialize();
-  m_pInt = val;
+    Initialize();
+    m_pInt = val;
 }
 
 wxGenericValidator::wxGenericValidator(wxString *val)
 {
 }
 
 wxGenericValidator::wxGenericValidator(wxString *val)
 {
-  Initialize();
-  m_pString = val;
+    Initialize();
+    m_pString = val;
 }
 
 wxGenericValidator::wxGenericValidator(wxArrayInt *val)
 {
 }
 
 wxGenericValidator::wxGenericValidator(wxArrayInt *val)
 {
-  Initialize();
-  m_pArrayInt = val;
+    Initialize();
+    m_pArrayInt = val;
 }
 
 wxGenericValidator::wxGenericValidator(const wxGenericValidator& val)
 {
 }
 
 wxGenericValidator::wxGenericValidator(const wxGenericValidator& val)
 {
-  Copy(val);
+    Copy(val);
 }
 
 bool wxGenericValidator::Copy(const wxGenericValidator& val)
 {
 }
 
 bool wxGenericValidator::Copy(const wxGenericValidator& val)
 {
-  wxValidator::Copy(val);
+    wxValidator::Copy(val);
 
 
-  m_pBool = val.m_pBool;
-  m_pInt = val.m_pInt;
-  m_pString = val.m_pString;
-  m_pArrayInt = val.m_pArrayInt;
+    m_pBool = val.m_pBool;
+    m_pInt = val.m_pInt;
+    m_pString = val.m_pString;
+    m_pArrayInt = val.m_pArrayInt;
 
 
-  return TRUE;
+    return TRUE;
 }
 
 wxGenericValidator::~wxGenericValidator()
 }
 
 wxGenericValidator::~wxGenericValidator()
@@ -82,129 +99,144 @@ wxGenericValidator::~wxGenericValidator()
 // Called to transfer data to the window
 bool wxGenericValidator::TransferToWindow(void)
 {
 // Called to transfer data to the window
 bool wxGenericValidator::TransferToWindow(void)
 {
-  if ( !m_validatorWindow )
-    return FALSE;
+    if ( !m_validatorWindow )
+        return FALSE;
 
 
-  // bool controls
+    // bool controls
 #if wxUSE_CHECKBOX
 #if wxUSE_CHECKBOX
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckBox)) )
-  {
-    wxCheckBox* pControl = (wxCheckBox*) m_validatorWindow;
-       if (m_pBool)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxCheckBox)) )
     {
     {
-      pControl->SetValue(*m_pBool) ;
-      return TRUE;
-    }
-  } else
+        wxCheckBox* pControl = (wxCheckBox*) m_validatorWindow;
+        if (m_pBool)
+       {
+           pControl->SetValue(*m_pBool);
+           return TRUE;
+       }
+    } else
 #endif
 #if wxUSE_RADIOBTN
 #endif
 #if wxUSE_RADIOBTN
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) )
-  {
-    wxRadioButton* pControl = (wxRadioButton*) m_validatorWindow;
-       if (m_pBool)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) )
     {
     {
-      pControl->SetValue(*m_pBool) ;
-      return TRUE;
-    }
-  } else
+        wxRadioButton* pControl = (wxRadioButton*) m_validatorWindow;
+       if (m_pBool)
+       {
+           pControl->SetValue(*m_pBool) ;
+           return TRUE;
+       }
+    } else
 #endif
 #endif
-  // int controls
+
+    // int controls
 #if wxUSE_GAUGE
 #if wxUSE_GAUGE
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxGauge)) )
-  {
-    wxGauge* pControl = (wxGauge*) m_validatorWindow;
-       if (m_pInt)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxGauge)) )
     {
     {
-      pControl->SetValue(*m_pInt) ;
-      return TRUE;
-    }
-  }
-  else 
+        wxGauge* pControl = (wxGauge*) m_validatorWindow;
+       if (m_pInt)
+       {
+           pControl->SetValue(*m_pInt);
+           return TRUE;
+       }
+    } else
 #endif
 #if wxUSE_RADIOBOX
 #endif
 #if wxUSE_RADIOBOX
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) )
-  {
-    wxRadioBox* pControl = (wxRadioBox*) m_validatorWindow;
-       if (m_pInt)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) )
     {
     {
-      pControl->SetSelection(*m_pInt) ;
-      return TRUE;
-    }
-  }
-  else 
+        wxRadioBox* pControl = (wxRadioBox*) m_validatorWindow;
+       if (m_pInt)
+       {
+           pControl->SetSelection(*m_pInt) ;
+           return TRUE;
+       }
+    } else
 #endif
 #if wxUSE_SCROLLBAR
 #endif
 #if wxUSE_SCROLLBAR
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) )
-  {
-    wxScrollBar* pControl = (wxScrollBar*) m_validatorWindow;
-       if (m_pInt)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) )
     {
     {
-      pControl->SetThumbPosition(*m_pInt) ;
-      return TRUE;
-    }
-  } else
+        wxScrollBar* pControl = (wxScrollBar*) m_validatorWindow;
+       if (m_pInt)
+       {
+           pControl->SetThumbPosition(*m_pInt) ;
+           return TRUE;
+       }
+    } else
 #endif
 #if wxUSE_SPINBTN
 #ifndef __WIN16__
 #endif
 #if wxUSE_SPINBTN
 #ifndef __WIN16__
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) )
-  {
-    wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
-       if (m_pInt)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxSpinButton)) )
     {
     {
-      pControl->SetValue(*m_pInt) ;
-      return TRUE;
-    }
-  } else
+        wxSpinButton* pControl = (wxSpinButton*) m_validatorWindow;
+       if (m_pInt)
+       {
+           pControl->SetValue(*m_pInt) ;
+           return TRUE;
+       }
+    } else
 #endif
 #endif
 #endif
 #endif
+#if wxUSE_SLIDER
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxSlider)) )
+    {
+        wxSlider* pControl = (wxSlider*) m_validatorWindow;
+        if (m_pInt)
+        {
+           pControl->SetValue(*m_pInt) ;
+           return TRUE;
+       }
+    } else
+#endif
+
   // string controls
   // string controls
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
-  {
-    wxButton* pControl = (wxButton*) m_validatorWindow;
-       if (m_pString)
+#if 1
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
     {
     {
-      pControl->SetLabel(*m_pString) ;
-      return TRUE;
-    }
-  } else 
-#if wxUSE_COMBOBOX
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) )
-  {
-    wxComboBox* pControl = (wxComboBox*) m_validatorWindow;
+        wxButton* pControl = (wxButton*) m_validatorWindow;
        if (m_pString)
        if (m_pString)
+       {
+           pControl->SetLabel(*m_pString) ;
+           return TRUE;
+       }
+    } else
+#endif
+#if wxUSE_COMBOBOX
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) )
     {
     {
-      pControl->SetValue(*m_pString) ;
-      return TRUE;
-    }
-  }
+        wxComboBox* pControl = (wxComboBox*) m_validatorWindow;
+       if (m_pString)
+       {
+           pControl->SetValue(*m_pString) ;
+           return TRUE;
+       }
+    } else
 #endif
 #endif
-  else if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) )
-  {
-    wxChoice* pControl = (wxChoice*) m_validatorWindow;
+#if wxUSE_CHOICE
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) )
+    {
+        wxChoice* pControl = (wxChoice*) m_validatorWindow;
        if (m_pInt)
        if (m_pInt)
+       {
+           pControl->SetSelection(*m_pInt) ;
+           return TRUE;
+       }
+    } else
+#endif
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
     {
     {
-      pControl->SetSelection(*m_pInt) ;
-      return TRUE;
-    }
-  }
-  else if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
-  {
-    wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
+        wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
        if (m_pString)
        if (m_pString)
+       {
+           pControl->SetLabel(*m_pString) ;
+           return TRUE;
+       }
+    } else 
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
     {
     {
-      pControl->SetLabel(*m_pString) ;
-      return TRUE;
-    }
-  }
-  else if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
-  {
-    wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
+        wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
        if (m_pString)
        if (m_pString)
-    {
-      pControl->SetValue(*m_pString) ;
-      return TRUE;
-    }
-  } else
+       {
+           pControl->SetValue(*m_pString) ;
+           return TRUE;
+       }
+    } else
 #if wxUSE_CHECKLISTBOX
 #ifndef __WIN16__
   // array controls
 #if wxUSE_CHECKLISTBOX
 #ifndef __WIN16__
   // array controls
@@ -231,22 +263,22 @@ bool wxGenericValidator::TransferToWindow(void)
 #endif
 #endif
 #if wxUSE_LISTBOX
 #endif
 #endif
 #if wxUSE_LISTBOX
-  if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) )
-  {
-    wxListBox* pControl = (wxListBox*) m_validatorWindow;
-       if (m_pArrayInt)
+    if (m_validatorWindow->IsKindOf(CLASSINFO(wxListBox)) )
     {
     {
-      // clear all selections
-      int i;
-      for (i = 0 ; i < pControl->Number(); ++i)
-        pControl->Deselect(i);
-      // select each item in our array
-      unsigned u;
-      for (u = 0; u < m_pArrayInt->Count(); ++u)
-        pControl->SetSelection(m_pArrayInt->Item(u));
-      return TRUE;
-    }
-  } else
+        wxListBox* pControl = (wxListBox*) m_validatorWindow;
+       if (m_pArrayInt)
+       {
+           // clear all selections
+           int i;
+           for (i = 0 ; i < pControl->Number(); ++i)
+               pControl->Deselect(i);
+           // select each item in our array
+           unsigned u;
+           for (u = 0; u < m_pArrayInt->Count(); ++u)
+               pControl->SetSelection(m_pArrayInt->Item(u));
+           return TRUE;
+       }
+    } else
 #endif
 
   // unrecognized control, or bad pointer
 #endif
 
   // unrecognized control, or bad pointer
@@ -254,7 +286,7 @@ bool wxGenericValidator::TransferToWindow(void)
   return FALSE;
 }
 
   return FALSE;
 }
 
-// Called to transfer data to the window
+// Called to transfer data from the window
 bool wxGenericValidator::TransferFromWindow(void)
 {
   if ( !m_validatorWindow )
 bool wxGenericValidator::TransferFromWindow(void)
 {
   if ( !m_validatorWindow )
@@ -270,7 +302,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pBool = pControl->GetValue() ;
       return TRUE;
     }
       *m_pBool = pControl->GetValue() ;
       return TRUE;
     }
-  } else 
+  } else
 #endif
 #if wxUSE_RADIOBTN
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) )
 #endif
 #if wxUSE_RADIOBTN
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioButton)) )
@@ -293,7 +325,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pInt = pControl->GetValue() ;
       return TRUE;
     }
       *m_pInt = pControl->GetValue() ;
       return TRUE;
     }
-  } else 
+  } else
 #endif
 #if wxUSE_RADIOBOX
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) )
 #endif
 #if wxUSE_RADIOBOX
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxRadioBox)) )
@@ -304,7 +336,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pInt = pControl->GetSelection() ;
       return TRUE;
     }
       *m_pInt = pControl->GetSelection() ;
       return TRUE;
     }
-  } else 
+  } else
 #endif
 #if wxUSE_SCROLLBAR
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) )
 #endif
 #if wxUSE_SCROLLBAR
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxScrollBar)) )
@@ -329,6 +361,17 @@ bool wxGenericValidator::TransferFromWindow(void)
     }
   } else
 #endif
     }
   } else
 #endif
+#endif
+#if wxUSE_SLIDER
+  if (m_validatorWindow->IsKindOf(CLASSINFO(wxSlider)) )
+  {
+    wxSlider* pControl = (wxSlider*) m_validatorWindow;
+    if (m_pInt)
+    {
+      pControl->SetValue(*m_pInt) ;
+      return TRUE;
+    }
+  } else
 #endif
   // string controls
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
 #endif
   // string controls
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxButton)) )
@@ -340,7 +383,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       return TRUE;
     }
   }
       return TRUE;
     }
   }
-  else 
+  else
 #if wxUSE_COMBOBOX
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) )
   {
 #if wxUSE_COMBOBOX
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)) )
   {
@@ -350,8 +393,9 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pString = pControl->GetValue() ;
       return TRUE;
     }
       *m_pString = pControl->GetValue() ;
       return TRUE;
     }
-  } else 
+  } else
 #endif
 #endif
+#if wxUSE_CHOICE
  if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) )
   {
     wxChoice* pControl = (wxChoice*) m_validatorWindow;
  if (m_validatorWindow->IsKindOf(CLASSINFO(wxChoice)) )
   {
     wxChoice* pControl = (wxChoice*) m_validatorWindow;
@@ -360,7 +404,8 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pInt = pControl->GetSelection() ;
       return TRUE;
     }
       *m_pInt = pControl->GetSelection() ;
       return TRUE;
     }
-  } else 
+  } else
+#endif
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
   {
     wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) )
   {
     wxStaticText* pControl = (wxStaticText*) m_validatorWindow;
@@ -369,7 +414,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       *m_pString = pControl->GetLabel() ;
       return TRUE;
     }
       *m_pString = pControl->GetLabel() ;
       return TRUE;
     }
-  } else 
+  } else
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
   {
     wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
   if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) )
   {
     wxTextCtrl* pControl = (wxTextCtrl*) m_validatorWindow;
@@ -379,7 +424,7 @@ bool wxGenericValidator::TransferFromWindow(void)
       return TRUE;
     }
   } else
       return TRUE;
     }
   } else
-#if wxUSE_LISTBOX
+#if wxUSE_CHECKLISTBOX
 #ifndef __WIN16__
   // array controls
   // NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox
 #ifndef __WIN16__
   // array controls
   // NOTE: wxCheckListBox isa wxListBox, so wxCheckListBox
@@ -431,9 +476,12 @@ bool wxGenericValidator::TransferFromWindow(void)
 */
 void wxGenericValidator::Initialize()
 {
 */
 void wxGenericValidator::Initialize()
 {
-  m_pBool = 0;
-  m_pInt = 0;
-  m_pString = 0;
-  m_pArrayInt = 0;
+    m_pBool = 0;
+    m_pInt = 0;
+    m_pString = 0;
+    m_pArrayInt = 0;
 }
 
 }
 
+#endif
+  // wxUSE_VALIDATORS
+