X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/526954c5968baa29218c994ec48e476ae2bd4b9f..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/propgrid/props.h diff --git a/include/wx/propgrid/props.h b/include/wx/propgrid/props.h index 114f42a455..ea902d13e6 100644 --- a/include/wx/propgrid/props.h +++ b/include/wx/propgrid/props.h @@ -4,7 +4,6 @@ // Author: Jaakko Salli // Modified by: // Created: 2007-03-28 -// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -12,6 +11,8 @@ #ifndef _WX_PROPGRID_PROPS_H_ #define _WX_PROPGRID_PROPS_H_ +#include "wx/defs.h" + #if wxUSE_PROPGRID // ----------------------------------------------------------------------- @@ -25,6 +26,7 @@ class wxPGArrayEditorDialog; #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. 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 +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. */ @@ -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. @@ -255,6 +280,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 +326,7 @@ public: wxPGValidationInfo* pValidationInfo, int mode = wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE ); + static wxValidator* GetClassValidator(); 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 - 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 +563,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 +837,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 +996,7 @@ public: void SetCustomButton( const wxString& custBtText, wxArrayStringProperty* pcc ) { - if ( custBtText.length() ) + if ( !custBtText.empty() ) { EnableCustomNewAction(); m_pCallingClass = pcc;