Resolve ambiguity in multiple inheritance of function GetPropertyByLabel in wxPGPage.

In wxPropertyGridPage class derived from wxPropertyGridPageState and wxPropertyGridInterface, function GetPropertyByLabel is inherited from both base classes.
To resolve this ambiguity, function defined in wxPGInterface is introduced in wxPGPage through 'using-declaration'.
(This is a temporary fix and finally GetPropertyByLabel function should be removed from wxPropertyGridPageState.)

See #15251.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Artur Wieczorek
2014-07-14 17:18:58 +00:00
parent cc48521426
commit 1a2983d433
3 changed files with 28 additions and 7 deletions

View File

@@ -444,15 +444,23 @@ wxPropertyCategory* wxPropertyGridPageState::GetPropertyCategory( const wxPGProp
// wxPropertyGridPageState GetPropertyXXX methods
// -----------------------------------------------------------------------
wxPGProperty* wxPropertyGridPageState::GetPropertyByLabel( const wxString& label,
wxPGProperty* parent ) const
#ifdef WXWIN_COMPATIBILITY_3_0
wxPGProperty* wxPropertyGridPageState::GetPropertyByLabel
( const wxString& label, wxPGProperty* parent ) const
{
return BaseGetPropertyByLabel(label, parent);
}
#endif // WXWIN_COMPATIBILITY_3_0
size_t i;
wxPGProperty* wxPropertyGridPageState::BaseGetPropertyByLabel
( const wxString& label, wxPGProperty* parent ) const
{
if ( !parent )
{
parent = (wxPGProperty*) &m_regularArray;
}
if ( !parent ) parent = (wxPGProperty*) &m_regularArray;
for ( i=0; i<parent->GetChildCount(); i++ )
for ( size_t i=0; i<parent->GetChildCount(); i++ )
{
wxPGProperty* p = parent->Item(i);
if ( p->m_label == label )
@@ -460,7 +468,7 @@ wxPGProperty* wxPropertyGridPageState::GetPropertyByLabel( const wxString& label
// Check children recursively.
if ( p->GetChildCount() )
{
p = GetPropertyByLabel(label,(wxPGProperty*)p);
p = BaseGetPropertyByLabel(label, p);
if ( p )
return p;
}