]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/valgen.h
Native wxBitmapComboBox patch for GTK+
[wxWidgets.git] / include / wx / valgen.h
index 395f06a7c012aa224d57e2dc23c923250831c853..d3bf35d7b3d2e1d0363898f4df3fef05c6513499 100644 (file)
@@ -2,72 +2,83 @@
 // Name:        valgen.h
 // Purpose:     wxGenericValidator class
 // Author:      Kevin Smith
-// Modified by:
 // Created:     Jan 22 1999
-// RCS-ID:
-// Copyright:   (c) 1999 Kevin Smith
+// RCS-ID:      $Id$
+// Copyright:   (c) 1999 Julian Smart (assigned from Kevin)
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_VALGENH__
 #define _WX_VALGENH__
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "valgen.h"
-#endif
-
 #include "wx/validate.h"
 
 #if wxUSE_VALIDATORS
 
-class WXDLLEXPORT wxGenericValidator: public wxValidator
+class WXDLLIMPEXP_FWD_BASE wxDateTime;
+
+// ----------------------------------------------------------------------------
+// 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);
-  wxGenericValidator(const wxGenericValidator& copyFrom);
+    // 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
+        // wxDatePickerCtrl
+    wxGenericValidator(wxDateTime* val);
+#endif // wxUSE_DATETIME
+    wxGenericValidator(const wxGenericValidator& copyFrom);
 
-  ~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;
+#endif // wxUSE_DATETIME
 
 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)
+    DECLARE_NO_ASSIGN_CLASS(wxGenericValidator)
 };
 
-#endif
-  // wxUSE_VALIDATORS
+#endif // wxUSE_VALIDATORS
 
-#endif
-  // _WX_VALGENH__
+#endif // _WX_VALGENH__