Make wxPGValidationInfo class instead of struct, re-document it (used at least by derived wxPGProperty::ValidateValue())
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -346,25 +346,17 @@ wxPG_VFB_UNDEFINED = 0x80
|
|||||||
|
|
||||||
typedef wxByte wxPGVFBFlags;
|
typedef wxByte wxPGVFBFlags;
|
||||||
|
|
||||||
/** @class wxPGValidationInfo
|
/**
|
||||||
|
wxPGValidationInfo
|
||||||
|
|
||||||
Used to convey validation information to and from functions that
|
Used to convey validation information to and from functions that
|
||||||
actually perform validation.
|
actually perform validation. Mostly used in custom property
|
||||||
|
classes.
|
||||||
*/
|
*/
|
||||||
struct wxPGValidationInfo
|
class wxPGValidationInfo
|
||||||
{
|
{
|
||||||
/** Value to be validated.
|
friend class wxPropertyGrid;
|
||||||
*/
|
public:
|
||||||
wxVariant* m_pValue;
|
|
||||||
|
|
||||||
/** Message displayed on validation failure.
|
|
||||||
*/
|
|
||||||
wxString m_failureMessage;
|
|
||||||
|
|
||||||
/** Validation failure behavior. Use wxPG_VFB_XXX flags.
|
|
||||||
*/
|
|
||||||
wxPGVFBFlags m_failureBehavior;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@return Returns failure behavior which is a combination of
|
@return Returns failure behavior which is a combination of
|
||||||
@ref propgrid_vfbflags.
|
@ref propgrid_vfbflags.
|
||||||
@@ -377,6 +369,15 @@ struct wxPGValidationInfo
|
|||||||
const wxString& GetFailureMessage() const
|
const wxString& GetFailureMessage() const
|
||||||
{ return m_failureMessage; }
|
{ return m_failureMessage; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns reference to pending value.
|
||||||
|
*/
|
||||||
|
const wxVariant& GetValue() const
|
||||||
|
{
|
||||||
|
wxASSERT(m_pValue);
|
||||||
|
return *m_pValue;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set validation failure behavior
|
/** Set validation failure behavior
|
||||||
|
|
||||||
@param failureBehavior
|
@param failureBehavior
|
||||||
@@ -389,6 +390,19 @@ struct wxPGValidationInfo
|
|||||||
Set current failure message.
|
Set current failure message.
|
||||||
*/
|
*/
|
||||||
void SetFailureMessage(const wxString& message);
|
void SetFailureMessage(const wxString& message);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/** Value to be validated.
|
||||||
|
*/
|
||||||
|
wxVariant* m_pValue;
|
||||||
|
|
||||||
|
/** Message displayed on validation failure.
|
||||||
|
*/
|
||||||
|
wxString m_failureMessage;
|
||||||
|
|
||||||
|
/** Validation failure behavior. Use wxPG_VFB_XXX flags.
|
||||||
|
*/
|
||||||
|
wxPGVFBFlags m_failureBehavior;
|
||||||
};
|
};
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
@@ -2017,7 +2031,7 @@ public:
|
|||||||
wxASSERT_MSG( m_validationInfo,
|
wxASSERT_MSG( m_validationInfo,
|
||||||
"Only call GetValue from a handler "
|
"Only call GetValue from a handler "
|
||||||
"of event type that supports it" );
|
"of event type that supports it" );
|
||||||
return *m_validationInfo->m_pValue;
|
return m_validationInfo->GetValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2026,10 +2040,10 @@ public:
|
|||||||
Only effective if Veto was also called, and only allowed if event type
|
Only effective if Veto was also called, and only allowed if event type
|
||||||
is wxEVT_PG_CHANGING.
|
is wxEVT_PG_CHANGING.
|
||||||
*/
|
*/
|
||||||
void SetValidationFailureBehavior( int flags )
|
void SetValidationFailureBehavior( wxPGVFBFlags flags )
|
||||||
{
|
{
|
||||||
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
||||||
m_validationInfo->m_failureBehavior = (wxPGVFBFlags) flags;
|
m_validationInfo->SetFailureBehavior( flags );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Sets custom failure message for this time only. Only applies if
|
/** Sets custom failure message for this time only. Only applies if
|
||||||
@@ -2038,14 +2052,14 @@ public:
|
|||||||
void SetValidationFailureMessage( const wxString& message )
|
void SetValidationFailureMessage( const wxString& message )
|
||||||
{
|
{
|
||||||
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
||||||
m_validationInfo->m_failureMessage = message;
|
m_validationInfo->SetFailureMessage( message );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
wxPGVFBFlags GetValidationFailureBehavior() const
|
wxPGVFBFlags GetValidationFailureBehavior() const
|
||||||
{
|
{
|
||||||
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
wxASSERT( GetEventType() == wxEVT_PG_CHANGING );
|
||||||
return m_validationInfo->m_failureBehavior;
|
return m_validationInfo->GetFailureBehavior();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetCanVeto( bool canVeto ) { m_canVeto = canVeto; }
|
void SetCanVeto( bool canVeto ) { m_canVeto = canVeto; }
|
||||||
|
@@ -269,7 +269,7 @@ class wxPropertyGridManager;
|
|||||||
class wxPGOwnerDrawnComboBox;
|
class wxPGOwnerDrawnComboBox;
|
||||||
class wxPGCustomComboControl;
|
class wxPGCustomComboControl;
|
||||||
class wxPGEditorDialogAdapter;
|
class wxPGEditorDialogAdapter;
|
||||||
struct wxPGValidationInfo;
|
class wxPGValidationInfo;
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
@@ -215,6 +215,45 @@ wxPG_VFB_DEFAULT = wxPG_VFB_STAY_IN_PROPERTY|wxPG_VFB_BEEP,
|
|||||||
|
|
||||||
typedef wxByte wxPGVFBFlags;
|
typedef wxByte wxPGVFBFlags;
|
||||||
|
|
||||||
|
/**
|
||||||
|
wxPGValidationInfo
|
||||||
|
|
||||||
|
Used to convey validation information to and from functions that
|
||||||
|
actually perform validation. Mostly used in custom property
|
||||||
|
classes.
|
||||||
|
*/
|
||||||
|
class wxPGValidationInfo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
@return Returns failure behavior which is a combination of
|
||||||
|
@ref propgrid_vfbflags.
|
||||||
|
*/
|
||||||
|
wxPGVFBFlags GetFailureBehavior();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns current failure message.
|
||||||
|
*/
|
||||||
|
const wxString& GetFailureMessage() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns reference to pending value.
|
||||||
|
*/
|
||||||
|
const wxVariant& GetValue() const;
|
||||||
|
|
||||||
|
/** Set validation failure behavior
|
||||||
|
|
||||||
|
@param failureBehavior
|
||||||
|
Mixture of @ref propgrid_vfbflags.
|
||||||
|
*/
|
||||||
|
void SetFailureBehavior(wxPGVFBFlags failureBehavior);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Set current failure message.
|
||||||
|
*/
|
||||||
|
void SetFailureMessage(const wxString& message);
|
||||||
|
};
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -877,7 +916,7 @@ public:
|
|||||||
Set override validation failure behavior. Only effective if Veto() was
|
Set override validation failure behavior. Only effective if Veto() was
|
||||||
also called, and only allowed if event type is wxEVT_PG_CHANGING.
|
also called, and only allowed if event type is wxEVT_PG_CHANGING.
|
||||||
*/
|
*/
|
||||||
void SetValidationFailureBehavior( int flags );
|
void SetValidationFailureBehavior( wxPGVFBFlags flags );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Sets custom failure message for this time only. Only applies if
|
Sets custom failure message for this time only. Only applies if
|
||||||
|
@@ -281,7 +281,9 @@ bool wxIntProperty::DoValidation( const wxPGProperty* property, wxLongLong_t& va
|
|||||||
if ( value < min )
|
if ( value < min )
|
||||||
{
|
{
|
||||||
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
||||||
pValidationInfo->m_failureMessage = wxString::Format(_("Value must be %lld or higher"),min);
|
pValidationInfo->SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %lld or higher"),min)
|
||||||
|
);
|
||||||
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
||||||
value = min;
|
value = min;
|
||||||
else
|
else
|
||||||
@@ -295,7 +297,9 @@ bool wxIntProperty::DoValidation( const wxPGProperty* property, wxLongLong_t& va
|
|||||||
if ( value > max )
|
if ( value > max )
|
||||||
{
|
{
|
||||||
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
||||||
pValidationInfo->m_failureMessage = wxString::Format(_("Value must be %lld or higher"),min);
|
pValidationInfo->SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %lld or higher"),min)
|
||||||
|
);
|
||||||
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
||||||
value = max;
|
value = max;
|
||||||
else
|
else
|
||||||
@@ -488,7 +492,9 @@ bool wxUIntProperty::ValidateValue( wxVariant& value, wxPGValidationInfo& valida
|
|||||||
wxPGVariantToULongLong(variant, &min);
|
wxPGVariantToULongLong(variant, &min);
|
||||||
if ( ll < min )
|
if ( ll < min )
|
||||||
{
|
{
|
||||||
validationInfo.m_failureMessage = wxString::Format(_("Value must be %llu or higher"),min);
|
validationInfo.SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %llu or higher"),min)
|
||||||
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -498,7 +504,9 @@ bool wxUIntProperty::ValidateValue( wxVariant& value, wxPGValidationInfo& valida
|
|||||||
wxPGVariantToULongLong(variant, &max);
|
wxPGVariantToULongLong(variant, &max);
|
||||||
if ( ll > max )
|
if ( ll > max )
|
||||||
{
|
{
|
||||||
validationInfo.m_failureMessage = wxString::Format(_("Value must be %llu or less"),max);
|
validationInfo.SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %llu or less"),max)
|
||||||
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -672,7 +680,9 @@ bool wxFloatProperty::DoValidation( const wxPGProperty* property, double& value,
|
|||||||
if ( value < min )
|
if ( value < min )
|
||||||
{
|
{
|
||||||
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
||||||
pValidationInfo->m_failureMessage = wxString::Format(_("Value must be %f or higher"),min);
|
pValidationInfo->SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %f or higher"),min)
|
||||||
|
);
|
||||||
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
||||||
value = min;
|
value = min;
|
||||||
else
|
else
|
||||||
@@ -687,7 +697,9 @@ bool wxFloatProperty::DoValidation( const wxPGProperty* property, double& value,
|
|||||||
if ( value > max )
|
if ( value > max )
|
||||||
{
|
{
|
||||||
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
if ( mode == wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE )
|
||||||
pValidationInfo->m_failureMessage = wxString::Format(_("Value must be %f or less"),max);
|
pValidationInfo->SetFailureMessage(
|
||||||
|
wxString::Format(_("Value must be %f or less"),max)
|
||||||
|
);
|
||||||
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
else if ( mode == wxPG_PROPERTY_VALIDATION_SATURATE )
|
||||||
value = max;
|
value = max;
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user