30#include <api/board/board_types.pb.h>
40 if(
m_id == FIELD_T::USER )
48 m_ordinal( static_cast<int>( aFieldId ) ),
56 kiapi::board::types::Field field;
58 google::protobuf::Any anyText;
60 anyText.UnpackTo( field.mutable_text() );
63 field.mutable_id()->set_id( (
int)
GetId() );
66 aContainer.PackFrom( field );
72 kiapi::board::types::Field field;
74 if( !aContainer.UnpackTo( &field ) )
82 SetName( wxString( field.name().c_str(), wxConvUTF8 ) );
84 if( field.has_text() )
86 google::protobuf::Any anyText;
87 anyText.PackFrom( field.text() );
93 if( field.text().layer() == kiapi::board::types::BoardLayer::BL_UNKNOWN )
104 else if(
m_name.IsEmpty() && aUseDefaultName )
119 return m_id == FIELD_T::REFERENCE
120 ||
m_id == FIELD_T::VALUE
121 ||
m_id == FIELD_T::DATASHEET
122 ||
m_id == FIELD_T::DESCRIPTION;
137 return _(
"User Field" );
148 case FIELD_T::REFERENCE:
149 return wxString::Format(
_(
"Reference field of %s" ), ref );
152 return wxString::Format(
_(
"Value field of %s (%s)" ), ref, content );
154 case FIELD_T::FOOTPRINT:
155 return wxString::Format(
_(
"Footprint field of %s (%s)" ), ref, content );
157 case FIELD_T::DATASHEET:
158 return wxString::Format(
_(
"Datasheet field of %s (%s)" ), ref, content );
162 return wxString::Format(
_(
"Field of %s (%s)" ), ref, content );
164 return wxString::Format(
_(
"%s field of %s (%s)" ),
GetName(), ref, content );
215 return *
this == other;
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
virtual void SetLayer(PCB_LAYER_ID aLayer)
Set the layer this item is on.
FOOTPRINT * GetParentFootprint() const
A base class for most all the KiCad significant classes used in schematics and boards.
KICAD_T Type() const
Returns the type of object.
A mix-in class (via multiple inheritance) that handles texts such as labels, parts,...
virtual const wxString & GetText() const
Return the string associated with the text object.
virtual bool IsVisible() const
virtual void SetVisible(bool aVisible)
double Similarity(const EDA_TEXT &aOther) const
bool operator==(const EDA_TEXT &aRhs) const
Contains methods for drawing PCB-specific items.
virtual PCB_RENDER_SETTINGS * GetSettings() override
Return a pointer to current settings that are going to be used when drawing items.
PCB specific render settings.
bool m_ForceShowFieldsWhenFPSelected
static constexpr double LOD_HIDE
Return this constant from ViewGetLOD() to hide the item unconditionally.
static constexpr double LOD_SHOW
Return this constant from ViewGetLOD() to show the item unconditionally.
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
bool IsLayerVisible(int aLayer) const
Return information about visibility of a particular layer.
PAINTER * GetPainter() const
Return the painter object used by the view for drawing #VIEW_ITEMS.
bool operator==(const PCB_FIELD &aOther) const
PCB_FIELD(FOOTPRINT *aParent, FIELD_T aFieldId, const wxString &aName=wxEmptyString)
wxString GetTextTypeDescription() const override
wxString GetName(bool aUseDefaultName=true) const
Return the field name (not translated).
void Serialize(google::protobuf::Any &aContainer) const override
Serializes this object to the given Any message.
int m_ordinal
Sort order for non-mandatory fields.
wxString GetCanonicalName() const
Get a non-language-specific name for a field which can be used for storage, variable look-up,...
void SetName(const wxString &aName)
void swapData(BOARD_ITEM *aImage) override
double Similarity(const BOARD_ITEM &aOther) const override
Return a measure of how likely the other object is to represent the same object.
bool Deserialize(const google::protobuf::Any &aContainer) override
Deserializes the given protobuf message into this object.
EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
double ViewGetLOD(int aLayer, const KIGFX::VIEW *aView) const override
Return the level of detail (LOD) of the item.
wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
Return a user-visible description string of this item.
void Serialize(google::protobuf::Any &aContainer) const override
Serializes this object to the given Any message.
wxString GetShownText(bool aAllowExtraText, int aDepth=0) const override
Return the string actually shown after processing of the base text.
double ViewGetLOD(int aLayer, const KIGFX::VIEW *aView) const override
Return the level of detail (LOD) of the item.
bool Deserialize(const google::protobuf::Any &aContainer) override
Deserializes the given protobuf message into this object.
PROPERTY_BASE & SetIsHiddenFromPropertiesManager(bool aHide=true)
PROPERTY_BASE & SetIsHiddenFromLibraryEditors(bool aIsHidden=true)
Provide class metadata.Helper macro to map type hashes to names.
void InheritsAfter(TYPE_ID aDerived, TYPE_ID aBase)
Declare an inheritance relationship between types.
void Mask(TYPE_ID aDerived, TYPE_ID aBase, const wxString &aName)
Sets a base class property as masked in a derived class.
static PROPERTY_MANAGER & Instance()
PROPERTY_BASE & AddProperty(PROPERTY_BASE *aProperty, const wxString &aGroup=wxEmptyString)
Register a property.
void AddTypeCast(TYPE_CAST_BASE *aCast)
Register a type converter.
Some functions to handle hotkeys in KiCad.
@ LAYER_FP_REFERENCES
Show footprints references (when texts are visible).
@ LAYER_FP_VALUES
Show footprints values (when texts are visible).
KICOMMON_API wxString EllipsizeMenuText(const wxString &aString)
Ellipsize text (at the end) to be no more than 36 characters.
static struct PCB_FIELD_DESC _PCB_FIELD_DESC
#define NO_SETTER(owner, type)
bool IsURL(wxString aStr)
Performs a URL sniff-test on a string.
wxString GetUserFieldName(int aFieldNdx, bool aTranslateForHI)
FIELD_T
The set of all field indices assuming an array like sequence that a SCH_COMPONENT or LIB_PART can hol...
wxString GetCanonicalFieldName(FIELD_T aFieldType)
@ PCB_FIELD_T
class PCB_FIELD, text associated with a footprint property