mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
API: Add symbol path for footprint instances
See https://gitlab.com/kicad/code/kicad-python/-/issues/37 (cherry picked from commit 4dd39976a345df7f77213c7f48b80d5923c5d8ed) Co-authored-by: Jon Evans <jon@craftyjon.com>
This commit is contained in:
parent
faf6db6972
commit
a63758e1e6
@ -896,4 +896,7 @@ message FootprintInstance
|
|||||||
|
|
||||||
FootprintAttributes attributes = 11;
|
FootprintAttributes attributes = 11;
|
||||||
FootprintDesignRuleOverrides overrides = 12;
|
FootprintDesignRuleOverrides overrides = 12;
|
||||||
|
|
||||||
|
// The sheet path to the associated symbol for this footprint instance, if one exists
|
||||||
|
kiapi.common.types.SheetPath symbol_path = 13;
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include <magic_enum.hpp>
|
#include <magic_enum.hpp>
|
||||||
#include <api/api_utils.h>
|
#include <api/api_utils.h>
|
||||||
#include <geometry/shape_poly_set.h>
|
#include <geometry/shape_poly_set.h>
|
||||||
|
#include <kiid.h>
|
||||||
#include <wx/log.h>
|
#include <wx/log.h>
|
||||||
|
|
||||||
const wxChar* const traceApi = wxT( "KICAD_API" );
|
const wxChar* const traceApi = wxT( "KICAD_API" );
|
||||||
@ -232,4 +233,14 @@ KICOMMON_API KIGFX::COLOR4D UnpackColor( const types::Color& aInput )
|
|||||||
return KIGFX::COLOR4D( r, g, b, a );
|
return KIGFX::COLOR4D( r, g, b, a );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KICOMMON_API void PackSheetPath( types::SheetPath& aOutput, const KIID_PATH& aInput )
|
||||||
|
{
|
||||||
|
aOutput.clear_path();
|
||||||
|
|
||||||
|
for( const KIID& entry : aInput )
|
||||||
|
aOutput.add_path()->set_value( entry.AsStdString() );
|
||||||
|
|
||||||
|
aOutput.set_path_human_readable( aInput.AsString().ToStdString() );
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace kiapi::common
|
} // namespace kiapi::common
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include <gal/color4d.h>
|
#include <gal/color4d.h>
|
||||||
|
|
||||||
class SHAPE_LINE_CHAIN;
|
class SHAPE_LINE_CHAIN;
|
||||||
|
class KIID_PATH;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flag to enable debug output related to the IPC API and its plugin system
|
* Flag to enable debug output related to the IPC API and its plugin system
|
||||||
@ -77,6 +78,8 @@ KICOMMON_API void PackColor( types::Color& aOutput, const KIGFX::COLOR4D& aInput
|
|||||||
|
|
||||||
KICOMMON_API KIGFX::COLOR4D UnpackColor( const types::Color& aInput );
|
KICOMMON_API KIGFX::COLOR4D UnpackColor( const types::Color& aInput );
|
||||||
|
|
||||||
|
KICOMMON_API void PackSheetPath( types::SheetPath& aOutput, const KIID_PATH& aInput );
|
||||||
|
|
||||||
} // namespace kiapi::common
|
} // namespace kiapi::common
|
||||||
|
|
||||||
#endif //KICAD_API_UTILS_H
|
#endif //KICAD_API_UTILS_H
|
||||||
|
@ -395,6 +395,9 @@ void FOOTPRINT::Serialize( google::protobuf::Any &aContainer ) const
|
|||||||
itemMsg->PackFrom( modelMsg );
|
itemMsg->PackFrom( modelMsg );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Serialized only (can't modify this from the API to change the symbol mapping)
|
||||||
|
kiapi::common::PackSheetPath( *footprint.mutable_symbol_path(), m_path );
|
||||||
|
|
||||||
aContainer.PackFrom( footprint );
|
aContainer.PackFrom( footprint );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user