Fixed a bug: Disabling a property didn't work properly if a child item was selected.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -526,6 +526,8 @@ All (GUI):
|
||||
- Added support for saving TGA files.
|
||||
- Added wxArtProvider returning higher quality icons from Tango project.
|
||||
- wxPropertyGrid: Added "HasAlpha" attribute for wxColourProperty.
|
||||
- wxPropertyGrid: Disabling a property didn't work properly if a child item
|
||||
was selected (Sébastien Gallou).
|
||||
- Added support for saving PNG files with palette (troelsk).
|
||||
- Added support for saving as GIF and animated GIF (troelsk).
|
||||
- Fix wxWrapSizer minimal size calculation (Catalin Raceanu).
|
||||
|
@@ -2387,6 +2387,11 @@ protected:
|
||||
void InitAfterAdded( wxPropertyGridPageState* pageState,
|
||||
wxPropertyGrid* propgrid );
|
||||
|
||||
/**
|
||||
Returns true if child property is selected.
|
||||
*/
|
||||
bool IsChildSelected() const;
|
||||
|
||||
// Removes child property with given pointer. Does not delete it.
|
||||
void RemoveChild( wxPGProperty* p );
|
||||
|
||||
|
@@ -2569,6 +2569,18 @@ void wxPGProperty::DeleteChildren()
|
||||
}
|
||||
}
|
||||
|
||||
bool wxPGProperty::IsChildSelected() const
|
||||
{
|
||||
size_t i;
|
||||
for ( i = 0; i < GetChildCount(); i++ )
|
||||
{
|
||||
if ( m_parentState->DoIsPropertySelected( Item(i) ) )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
wxVariant wxPGProperty::ChildChanged( wxVariant& WXUNUSED(thisValue),
|
||||
int WXUNUSED(childIndex),
|
||||
wxVariant& WXUNUSED(childValue) ) const
|
||||
|
@@ -2600,7 +2600,7 @@ void wxPropertyGrid::DrawItems( const wxPGProperty* p1, const wxPGProperty* p2 )
|
||||
|
||||
void wxPropertyGrid::RefreshProperty( wxPGProperty* p )
|
||||
{
|
||||
if ( m_pState->DoIsPropertySelected(p) )
|
||||
if ( m_pState->DoIsPropertySelected(p) || p->IsChildSelected() )
|
||||
{
|
||||
// NB: We must copy the selection.
|
||||
wxArrayPGProperty selection = m_pState->m_selection;
|
||||
|
Reference in New Issue
Block a user