Removed dysfunctional wxPGPropery::PrepareValueForDialogEditing(); Replaced its functionality with wxPropertyGrid::GetPendingEditedValue(); Added wxPropertyGrid::PerformValidation() flags so it can be called in generic context.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2008-10-08 18:15:10 +00:00
parent 483b6cf0d4
commit 9b5bafcf38
9 changed files with 110 additions and 93 deletions

View File

@@ -1814,23 +1814,6 @@ public:
}
#endif // #if wxUSE_VALIDATORS
/** Updates property value in case there were last minute
changes. If value was unspecified, it will be set to default.
Use only for properties that have TextCtrl-based editor.
@remarks
If you have code similar to
@code
// Update the value in case of last minute changes
if ( primary && propgrid->IsEditorsValueModified() )
GetEditorClass()->CopyValueFromControl( this, primary );
@endcode
in wxPGProperty::OnEvent wxEVT_COMMAND_BUTTON_CLICKED handler,
then replace it with call to this method.
@return
True if value changed.
*/
bool PrepareValueForDialogEditing( wxPropertyGrid* propgrid );
#ifndef SWIG
/** Returns client data (void*) of a property.
*/

View File

@@ -832,6 +832,14 @@ public:
/** Returns background colour of margin. */
wxColour GetMarginColour() const { return m_colMargin; }
/**
Returns most up-to-date value of selected property. This will return
value different from GetSelectedProperty()->GetValue() only when text
editor is activate and string edited by user represents valid,
uncommitted property value.
*/
wxVariant GetPendingEditedValue();
/** Returns cell background colour of a property. */
wxColour GetPropertyBackgroundColour( wxPGPropArg id ) const;
@@ -1257,12 +1265,6 @@ public:
virtual bool DoPropertyChanged( wxPGProperty* p,
unsigned int selFlags = 0 );
/**
Runs all validation functionality (includes sending wxEVT_PG_CHANGING).
Returns true if all tests passed.
*/
virtual bool PerformValidation( wxPGProperty* p, wxVariant& pendingValue );
/** Called when validation for given property fails.
@param invalidValue
Value which failed in validation.
@@ -1340,6 +1342,21 @@ protected:
*/
virtual wxPropertyGridPageState* CreateState() const;
enum PerformValidationFlags
{
SendEvtChanging = 0x0001,
IsStandaloneValidation = 0x0002 // Not called in response to event
};
/**
Runs all validation functionality (includes sending wxEVT_PG_CHANGING).
Returns true if all tests passed. Implement in derived class to
add additional validation behavior.
*/
virtual bool PerformValidation( wxPGProperty* p,
wxVariant& pendingValue,
int flags = SendEvtChanging );
#ifndef DOXYGEN
public: