diff --git a/pcbnew/fp_shape.cpp b/pcbnew/fp_shape.cpp index 1c4ff92a1d..b50eb5536f 100644 --- a/pcbnew/fp_shape.cpp +++ b/pcbnew/fp_shape.cpp @@ -341,5 +341,8 @@ static struct FP_SHAPE_DESC PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance(); REGISTER_TYPE( FP_SHAPE ); propMgr.InheritsAfter( TYPE_HASH( FP_SHAPE ), TYPE_HASH( PCB_SHAPE ) ); + + propMgr.AddProperty( new PROPERTY( _HKI( "Parent" ), + NO_SETTER( FP_SHAPE, wxString ), &FP_SHAPE::GetParentAsString ) ); } } _FP_SHAPE_DESC; diff --git a/pcbnew/fp_shape.h b/pcbnew/fp_shape.h index 35267ffad4..908a5a88d1 100644 --- a/pcbnew/fp_shape.h +++ b/pcbnew/fp_shape.h @@ -143,6 +143,8 @@ public: return wxT( "MGRAPHIC" ); } + wxString GetParentAsString() const { return m_parent->m_Uuid.AsString(); } + wxString GetSelectMenuText( EDA_UNITS aUnits ) const override; BITMAP_DEF GetMenuImage() const override; diff --git a/pcbnew/fp_text.cpp b/pcbnew/fp_text.cpp index cd776475ef..0d387b4486 100644 --- a/pcbnew/fp_text.cpp +++ b/pcbnew/fp_text.cpp @@ -457,5 +457,8 @@ static struct FP_TEXT_DESC propMgr.AddTypeCast( new TYPE_CAST ); propMgr.InheritsAfter( TYPE_HASH( FP_TEXT ), TYPE_HASH( BOARD_ITEM ) ); propMgr.InheritsAfter( TYPE_HASH( FP_TEXT ), TYPE_HASH( EDA_TEXT ) ); + + propMgr.AddProperty( new PROPERTY( _HKI( "Parent" ), + NO_SETTER( FP_TEXT, wxString ), &FP_TEXT::GetParentAsString ) ); } } _FP_TEXT_DESC; diff --git a/pcbnew/fp_text.h b/pcbnew/fp_text.h index 55c0b40e9f..b6bb0e733f 100644 --- a/pcbnew/fp_text.h +++ b/pcbnew/fp_text.h @@ -78,6 +78,8 @@ public: return false; } + wxString GetParentAsString() const { return m_parent->m_Uuid.AsString(); } + bool Matches( const wxFindReplaceData& aSearchData, void* aAuxData ) const override { return BOARD_ITEM::Matches( GetShownText(), aSearchData ); diff --git a/pcbnew/pad.cpp b/pcbnew/pad.cpp index 8b2240ca36..1b820d9000 100644 --- a/pcbnew/pad.cpp +++ b/pcbnew/pad.cpp @@ -1510,6 +1510,9 @@ static struct PAD_DESC propMgr.AddProperty( new PROPERTY( _HKI( "Local Clearance" ), &PAD::SetLocalClearance, &PAD::GetLocalClearance, PROPERTY_DISPLAY::DISTANCE ) ); + propMgr.AddProperty( new PROPERTY( _HKI( "Parent" ), + NO_SETTER( PAD, wxString ), &PAD::GetParentAsString ) ); + // TODO delta, dirill shape offset, layerset, zone connection } } _PAD_DESC; diff --git a/pcbnew/pad.h b/pcbnew/pad.h index 5c68692a8a..6c5d4cd79e 100644 --- a/pcbnew/pad.h +++ b/pcbnew/pad.h @@ -107,6 +107,8 @@ public: FOOTPRINT* GetParent() const; + wxString GetParentAsString() const { return m_parent->m_Uuid.AsString(); } + bool IsLocked() const override; /**