X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/525b29124a9b69837c1d7973d44da21d2da28ea1..43c42c18d36c703a88b1b7b697bac27fe5608eca:/include/wx/propgrid/props.h
diff --git a/include/wx/propgrid/props.h b/include/wx/propgrid/props.h
index b2bf59f6e6..99c279f7a8 100644
--- a/include/wx/propgrid/props.h
+++ b/include/wx/propgrid/props.h
@@ -6,12 +6,14 @@
// Created: 2007-03-28
// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PROPGRID_PROPS_H_
#define _WX_PROPGRID_PROPS_H_
+#include "wx/defs.h"
+
#if wxUSE_PROPGRID
// -----------------------------------------------------------------------
@@ -25,6 +27,7 @@ class wxPGArrayEditorDialog;
#include "wx/textctrl.h"
#include "wx/button.h"
#include "wx/listbox.h"
+#include "wx/valtext.h"
// -----------------------------------------------------------------------
@@ -91,7 +94,7 @@ private:
Basic property with string value.
Supported special attributes:
- - "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 "" is set, then actual value is formed (or composed)
@@ -122,9 +125,9 @@ protected:
// -----------------------------------------------------------------------
-/** Constants used with DoValidation() methods.
+/** Constants used with NumericValidation<>().
*/
-enum wxPGDoValidationConstants
+enum wxPGNumericValidationConstants
{
/** Instead of modifying the value, show an error message.
*/
@@ -141,6 +144,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.
@@ -255,6 +281,7 @@ public:
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;
@@ -300,6 +327,7 @@ public:
wxPGValidationInfo* pValidationInfo,
int mode =
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE );
+ static wxValidator* GetClassValidator();
virtual wxValidator* DoGetValidator () const;
protected:
@@ -489,7 +517,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
- 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.
Note: When changing "choices" (ie. flag labels) of wxFlagsProperty,
you will need to use SetPropertyChoices - otherwise they will not get
@@ -536,7 +564,7 @@ public:
// 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(ind)); }
protected:
// Used to detect if choices have been changed
@@ -810,7 +838,7 @@ PROPNAME::~PROPNAME() { } \
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; \
}
@@ -969,7 +997,7 @@ public:
void SetCustomButton( const wxString& custBtText,
wxArrayStringProperty* pcc )
{
- if ( custBtText.length() )
+ if ( !custBtText.empty() )
{
EnableCustomNewAction();
m_pCallingClass = pcc;