Allow wxPGProperty::Hide() to be called on unattached property (see #11987)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1858,7 +1858,7 @@ public:
|
|||||||
By default changes are applied recursively. Set this paramter
|
By default changes are applied recursively. Set this paramter
|
||||||
wxPG_DONT_RECURSE to prevent this.
|
wxPG_DONT_RECURSE to prevent this.
|
||||||
*/
|
*/
|
||||||
inline bool Hide( bool hide, int flags = wxPG_RECURSE );
|
bool Hide( bool hide, int flags = wxPG_RECURSE );
|
||||||
|
|
||||||
bool IsExpanded() const
|
bool IsExpanded() const
|
||||||
{ return (!(m_flags & wxPG_PROP_COLLAPSED) && GetChildCount()); }
|
{ return (!(m_flags & wxPG_PROP_COLLAPSED) && GetChildCount()); }
|
||||||
@@ -2328,6 +2328,8 @@ protected:
|
|||||||
const wxVariantList* valueOverrides = NULL,
|
const wxVariantList* valueOverrides = NULL,
|
||||||
wxPGHashMapS2S* childResults = NULL ) const;
|
wxPGHashMapS2S* childResults = NULL ) const;
|
||||||
|
|
||||||
|
bool DoHide( bool hide, int flags );
|
||||||
|
|
||||||
void DoSetName(const wxString& str) { m_name = str; }
|
void DoSetName(const wxString& str) { m_name = str; }
|
||||||
|
|
||||||
/** Deletes all sub-properties. */
|
/** Deletes all sub-properties. */
|
||||||
|
@@ -2200,11 +2200,6 @@ inline void wxPGProperty::SetEditor( const wxString& editorName )
|
|||||||
m_customEditor = wxPropertyGridInterface::GetEditorByName(editorName);
|
m_customEditor = wxPropertyGridInterface::GetEditorByName(editorName);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool wxPGProperty::Hide( bool hide, int flags )
|
|
||||||
{
|
|
||||||
return GetGrid()->HideProperty(this, hide, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool wxPGProperty::SetMaxLength( int maxLen )
|
inline bool wxPGProperty::SetMaxLength( int maxLen )
|
||||||
{
|
{
|
||||||
return GetGrid()->SetPropertyMaxLength(this,maxLen);
|
return GetGrid()->SetPropertyMaxLength(this,maxLen);
|
||||||
|
@@ -1962,6 +1962,32 @@ const wxPGEditor* wxPGProperty::GetEditorClass() const
|
|||||||
return editor;
|
return editor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxPGProperty::Hide( bool hide, int flags )
|
||||||
|
{
|
||||||
|
wxPropertyGrid* pg = GetGrid();
|
||||||
|
if ( pg )
|
||||||
|
return pg->HideProperty(this, hide, flags);
|
||||||
|
|
||||||
|
return DoHide( hide, flags );
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxPGProperty::DoHide( bool hide, int flags )
|
||||||
|
{
|
||||||
|
if ( !hide )
|
||||||
|
ClearFlag( wxPG_PROP_HIDDEN );
|
||||||
|
else
|
||||||
|
SetFlag( wxPG_PROP_HIDDEN );
|
||||||
|
|
||||||
|
if ( flags & wxPG_RECURSE )
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
for ( i = 0; i < GetChildCount(); i++ )
|
||||||
|
Item(i)->DoHide(hide, flags | wxPG_RECURSE_STARTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxPGProperty::HasVisibleChildren() const
|
bool wxPGProperty::HasVisibleChildren() const
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@@ -1397,18 +1397,7 @@ bool wxPropertyGridPageState::DoSelectProperty( wxPGProperty* p, unsigned int fl
|
|||||||
|
|
||||||
bool wxPropertyGridPageState::DoHideProperty( wxPGProperty* p, bool hide, int flags )
|
bool wxPropertyGridPageState::DoHideProperty( wxPGProperty* p, bool hide, int flags )
|
||||||
{
|
{
|
||||||
if ( !hide )
|
p->DoHide(hide, flags);
|
||||||
p->ClearFlag( wxPG_PROP_HIDDEN );
|
|
||||||
else
|
|
||||||
p->SetFlag( wxPG_PROP_HIDDEN );
|
|
||||||
|
|
||||||
if ( flags & wxPG_RECURSE )
|
|
||||||
{
|
|
||||||
unsigned int i;
|
|
||||||
for ( i = 0; i < p->GetChildCount(); i++ )
|
|
||||||
DoHideProperty(p->Item(i), hide, flags | wxPG_RECURSE_STARTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
VirtualHeightChanged();
|
VirtualHeightChanged();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user