]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/props.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / propgrid / props.h
index 114f42a4554749d71d3f24c50a2fe4dad8eece24..ea902d13e6a126b0128fbbebe9c6fca623a84403 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Jaakko Salli
 // Modified by:
 // Created:     2007-03-28
 // Author:      Jaakko Salli
 // Modified by:
 // Created:     2007-03-28
-// RCS-ID:      $Id$
 // Copyright:   (c) Jaakko Salli
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) Jaakko Salli
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -12,6 +11,8 @@
 #ifndef _WX_PROPGRID_PROPS_H_
 #define _WX_PROPGRID_PROPS_H_
 
 #ifndef _WX_PROPGRID_PROPS_H_
 #define _WX_PROPGRID_PROPS_H_
 
+#include "wx/defs.h"
+
 #if wxUSE_PROPGRID
 
 // -----------------------------------------------------------------------
 #if wxUSE_PROPGRID
 
 // -----------------------------------------------------------------------
@@ -25,6 +26,7 @@ class wxPGArrayEditorDialog;
 #include "wx/textctrl.h"
 #include "wx/button.h"
 #include "wx/listbox.h"
 #include "wx/textctrl.h"
 #include "wx/button.h"
 #include "wx/listbox.h"
+#include "wx/valtext.h"
 
 // -----------------------------------------------------------------------
 
 
 // -----------------------------------------------------------------------
 
@@ -91,7 +93,7 @@ private:
     Basic property with string value.
 
     <b>Supported special attributes:</b>
     Basic property with string value.
 
     <b>Supported special attributes:</b>
-    - "Password": set to 1 inorder to enable wxTE_PASSWORD on the editor.
+    - "Password": set to 1 in order to enable wxTE_PASSWORD on the editor.
 
     @remarks
     - If value "<composed>" is set, then actual value is formed (or composed)
 
     @remarks
     - If value "<composed>" is set, then actual value is formed (or composed)
@@ -122,9 +124,9 @@ protected:
 
 // -----------------------------------------------------------------------
 
 
 // -----------------------------------------------------------------------
 
-/** Constants used with DoValidation() methods.
+/** Constants used with NumericValidation<>().
 */
 */
-enum wxPGDoValidationConstants
+enum wxPGNumericValidationConstants
 {
     /** Instead of modifying the value, show an error message.
     */
 {
     /** Instead of modifying the value, show an error message.
     */
@@ -141,6 +143,29 @@ enum wxPGDoValidationConstants
 
 // -----------------------------------------------------------------------
 
 
 // -----------------------------------------------------------------------
 
+#if wxUSE_VALIDATORS
+
+/**
+    A more comprehensive numeric validator class.
+*/
+class WXDLLIMPEXP_PROPGRID wxNumericPropertyValidator : public wxTextValidator
+{
+public:
+    enum NumericType
+    {
+        Signed = 0,
+        Unsigned,
+        Float
+    };
+
+    wxNumericPropertyValidator( NumericType numericType, int base = 10 );
+    virtual ~wxNumericPropertyValidator() { }
+    virtual bool Validate(wxWindow* parent);
+};
+
+#endif // wxUSE_VALIDATORS
+
+
 /** @class wxIntProperty
     @ingroup classes
     Basic property with integer value.
 /** @class wxIntProperty
     @ingroup classes
     Basic property with integer value.
@@ -255,6 +280,7 @@ public:
     virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
     virtual bool ValidateValue( wxVariant& value,
                                 wxPGValidationInfo& validationInfo ) const;
     virtual bool DoSetAttribute( const wxString& name, wxVariant& value );
     virtual bool ValidateValue( wxVariant& value,
                                 wxPGValidationInfo& validationInfo ) const;
+    virtual wxValidator* DoGetValidator () const;
     virtual bool IntToValue( wxVariant& variant,
                              int number,
                              int argFlags = 0 ) const;
     virtual bool IntToValue( wxVariant& variant,
                              int number,
                              int argFlags = 0 ) const;
@@ -300,6 +326,7 @@ public:
                               wxPGValidationInfo* pValidationInfo,
                               int mode =
                                  wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE );
                               wxPGValidationInfo* pValidationInfo,
                               int mode =
                                  wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE );
+    static wxValidator* GetClassValidator();
     virtual wxValidator* DoGetValidator () const;
 
 protected:
     virtual wxValidator* DoGetValidator () const;
 
 protected:
@@ -489,7 +516,7 @@ protected:
     @ingroup classes
     Represents a bit set that fits in a long integer. wxBoolProperty
     sub-properties are created for editing individual bits. Textctrl is created
     @ingroup classes
     Represents a bit set that fits in a long integer. wxBoolProperty
     sub-properties are created for editing individual bits. Textctrl is created
-    to manually edit the flags as a text; a continous sequence of spaces,
+    to manually edit the flags as a text; a continuous sequence of spaces,
     commas and semicolons is considered as a flag id separator.
     <b>Note:</b> When changing "choices" (ie. flag labels) of wxFlagsProperty,
     you will need to use SetPropertyChoices - otherwise they will not get
     commas and semicolons is considered as a flag id separator.
     <b>Note:</b> When changing "choices" (ie. flag labels) of wxFlagsProperty,
     you will need to use SetPropertyChoices - otherwise they will not get
@@ -536,7 +563,7 @@ public:
     // helpers
     size_t GetItemCount() const { return m_choices.GetCount(); }
     const wxString& GetLabel( size_t ind ) const
     // helpers
     size_t GetItemCount() const { return m_choices.GetCount(); }
     const wxString& GetLabel( size_t ind ) const
-        { return m_choices.GetLabel(ind); }
+        { return m_choices.GetLabel(static_cast<int>(ind)); }
 
 protected:
     // Used to detect if choices have been changed
 
 protected:
     // Used to detect if choices have been changed
@@ -810,7 +837,7 @@ PROPNAME::~PROPNAME() { } \
 bool PROPNAME::OnEvent( wxPropertyGrid* propgrid, \
                         wxWindow* primary, wxEvent& event ) \
 { \
 bool PROPNAME::OnEvent( wxPropertyGrid* propgrid, \
                         wxWindow* primary, wxEvent& event ) \
 { \
-    if ( event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED ) \
+    if ( event.GetEventType() == wxEVT_BUTTON ) \
         return OnButtonClick(propgrid,primary,(const wxChar*) CUSTBUTTXT); \
     return false; \
 }
         return OnButtonClick(propgrid,primary,(const wxChar*) CUSTBUTTXT); \
     return false; \
 }
@@ -969,7 +996,7 @@ public:
     void SetCustomButton( const wxString& custBtText,
                           wxArrayStringProperty* pcc )
     {
     void SetCustomButton( const wxString& custBtText,
                           wxArrayStringProperty* pcc )
     {
-        if ( custBtText.length() )
+        if ( !custBtText.empty() )
         {
             EnableCustomNewAction();
             m_pCallingClass = pcc;
         {
             EnableCustomNewAction();
             m_pCallingClass = pcc;