]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/valgen.h
Don't return a dangling pointer from wxDateTime::ParseXXX(wxCStrData).
[wxWidgets.git] / include / wx / valgen.h
index 893d31dfaab81d4f33f73b458644917be6f1b251..592afe498119b9d1c9753833c05c33b20eb7d86e 100644 (file)
@@ -1,10 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        valgen.h
+// Name:        wx/valgen.h
 // Purpose:     wxGenericValidator class
 // Author:      Kevin Smith
-// Modified by:
 // Created:     Jan 22 1999
-// RCS-ID:
+// RCS-ID:      $Id$
 // Copyright:   (c) 1999 Julian Smart (assigned from Kevin)
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #if wxUSE_VALIDATORS
 
 class WXDLLIMPEXP_FWD_BASE wxDateTime;
+class WXDLLIMPEXP_FWD_BASE wxFileName;
 
-class WXDLLEXPORT wxGenericValidator: public wxValidator
+// ----------------------------------------------------------------------------
+// wxGenericValidator performs data transfer between many standard controls and
+// variables of the type corresponding to their values.
+//
+// It doesn't do any validation so its name is a slight misnomer.
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxGenericValidator: public wxValidator
 {
-DECLARE_CLASS(wxGenericValidator)
 public:
-  wxGenericValidator(bool* val);
-  wxGenericValidator(int* val);
-  wxGenericValidator(wxString* val);
-  wxGenericValidator(wxArrayInt* val);
+    // Different constructors: each of them creates a validator which can only
+    // be used with some controls, the comments before each constructor
+    // indicate which ones:
+        // wxCheckBox, wxRadioButton, wx(Bitmap)ToggleButton
+    wxGenericValidator(bool* val);
+        // wxChoice, wxGauge, wxRadioBox, wxScrollBar, wxSlider, wxSpinButton
+    wxGenericValidator(int* val);
+        // wxComboBox, wxTextCtrl, wxButton, wxStaticText (read-only)
+    wxGenericValidator(wxString* val);
+        // wxListBox, wxCheckListBox
+    wxGenericValidator(wxArrayInt* val);
 #if wxUSE_DATETIME
-  wxGenericValidator(wxDateTime* val);
+        // wxDatePickerCtrl
+    wxGenericValidator(wxDateTime* val);
 #endif // wxUSE_DATETIME
-  wxGenericValidator(const wxGenericValidator& copyFrom);
+        // wxTextCtrl
+    wxGenericValidator(wxFileName* val);
+        // wxTextCtrl
+    wxGenericValidator(float* val);
+        // wxTextCtrl
+    wxGenericValidator(double* val);
+
+    wxGenericValidator(const wxGenericValidator& copyFrom);
 
-  virtual ~wxGenericValidator(){}
+    virtual ~wxGenericValidator(){}
 
-  // Make a clone of this validator (or return NULL) - currently necessary
-  // if you're passing a reference to a validator.
-  // Another possibility is to always pass a pointer to a new validator
-  // (so the calling code can use a copy constructor of the relevant class).
-  virtual wxObject *Clone() const { return new wxGenericValidator(*this); }
-  bool Copy(const wxGenericValidator& val);
+    // Make a clone of this validator (or return NULL) - currently necessary
+    // if you're passing a reference to a validator.
+    // Another possibility is to always pass a pointer to a new validator
+    // (so the calling code can use a copy constructor of the relevant class).
+    virtual wxObject *Clone() const { return new wxGenericValidator(*this); }
+    bool Copy(const wxGenericValidator& val);
 
-  // Called when the value in the window must be validated.
-  // This function can pop up an error message.
-  virtual bool Validate(wxWindow * WXUNUSED(parent)) { return true; }
+    // Called when the value in the window must be validated: this is not used
+    // by this class
+    virtual bool Validate(wxWindow * WXUNUSED(parent)) { return true; }
 
-  // Called to transfer data to the window
-  virtual bool TransferToWindow();
+    // Called to transfer data to the window
+    virtual bool TransferToWindow();
 
-  // Called to transfer data to the window
-  virtual bool TransferFromWindow();
+    // Called to transfer data to the window
+    virtual bool TransferFromWindow();
 
 protected:
-  void Initialize();
+    void Initialize();
 
-  bool*       m_pBool;
-  int*        m_pInt;
-  wxString*   m_pString;
-  wxArrayInt* m_pArrayInt;
+    bool*       m_pBool;
+    int*        m_pInt;
+    wxString*   m_pString;
+    wxArrayInt* m_pArrayInt;
 #if wxUSE_DATETIME
-  wxDateTime* m_pDateTime;
+    wxDateTime* m_pDateTime;
 #endif // wxUSE_DATETIME
+    wxFileName* m_pFileName;
+    float*      m_pFloat;
+    double*     m_pDouble;
 
 private:
-// Cannot use
-//  DECLARE_NO_COPY_CLASS(wxGenericValidator)
-// because copy constructor is explicitly declared above;
-// but no copy assignment operator is defined, so declare
-// it private to prevent the compiler from defining it:
-    wxGenericValidator& operator=(const wxGenericValidator&);
+    DECLARE_CLASS(wxGenericValidator)
+    wxDECLARE_NO_ASSIGN_CLASS(wxGenericValidator);
 };
 
-#endif
-  // wxUSE_VALIDATORS
+#endif // wxUSE_VALIDATORS
 
-#endif
-  // _WX_VALGENH__
+#endif // _WX_VALGENH__