Add an optional name property to zones
This commit is contained in:
parent
67f46a0bb1
commit
0b34cea3d5
|
@ -150,6 +150,7 @@ mod_text_width
|
||||||
mode
|
mode
|
||||||
model
|
model
|
||||||
module
|
module
|
||||||
|
name
|
||||||
net
|
net
|
||||||
net_class
|
net_class
|
||||||
net_name
|
net_name
|
||||||
|
|
|
@ -639,11 +639,14 @@ void ZONE_CONTAINER::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector<MSG_PA
|
||||||
|
|
||||||
// Display priority level
|
// Display priority level
|
||||||
msg.Printf( wxT( "%d" ), GetPriority() );
|
msg.Printf( wxT( "%d" ), GetPriority() );
|
||||||
aList.emplace_back( _( "Priority" ), msg, BLUE );
|
aList.emplace_back( _( "Priority" ), msg, BLUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
aList.emplace_back( _( "Layer" ), LayerMaskDescribe( GetBoard(), m_layerSet ), DARKGREEN );
|
aList.emplace_back( _( "Layer" ), LayerMaskDescribe( GetBoard(), m_layerSet ), DARKGREEN );
|
||||||
|
|
||||||
|
if( !m_zoneName.empty() )
|
||||||
|
aList.emplace_back( _( "Name" ), m_zoneName, DARKMAGENTA );
|
||||||
|
|
||||||
switch( m_FillMode )
|
switch( m_FillMode )
|
||||||
{
|
{
|
||||||
case ZONE_FILL_MODE::POLYGONS: msg = _( "Solid" ); break;
|
case ZONE_FILL_MODE::POLYGONS: msg = _( "Solid" ); break;
|
||||||
|
|
|
@ -105,6 +105,10 @@ public:
|
||||||
|
|
||||||
virtual LSET GetLayerSet() const override;
|
virtual LSET GetLayerSet() const override;
|
||||||
|
|
||||||
|
wxString GetZoneName() const { return m_zoneName; }
|
||||||
|
|
||||||
|
void SetZoneName( const wxString& aName ) { m_zoneName = aName; }
|
||||||
|
|
||||||
/** Function GetBoundingBox (virtual)
|
/** Function GetBoundingBox (virtual)
|
||||||
* @return an EDA_RECT that is the bounding box of the zone outline
|
* @return an EDA_RECT that is the bounding box of the zone outline
|
||||||
*/
|
*/
|
||||||
|
@ -763,6 +767,9 @@ protected:
|
||||||
int m_cornerSmoothingType;
|
int m_cornerSmoothingType;
|
||||||
unsigned int m_cornerRadius;
|
unsigned int m_cornerRadius;
|
||||||
|
|
||||||
|
/// An optional unique name for this zone, used for identifying it in DRC checking
|
||||||
|
wxString m_zoneName;
|
||||||
|
|
||||||
LSET m_layerSet;
|
LSET m_layerSet;
|
||||||
|
|
||||||
/* Priority: when a zone outline is inside and other zone, if its priority is higher
|
/* Priority: when a zone outline is inside and other zone, if its priority is higher
|
||||||
|
|
|
@ -1792,6 +1792,9 @@ void PCB_IO::format( ZONE_CONTAINER* aZone, int aNestLevel ) const
|
||||||
|
|
||||||
m_out->Print( 0, " (tstamp %s)", TO_UTF8( aZone->m_Uuid.AsString() ) );
|
m_out->Print( 0, " (tstamp %s)", TO_UTF8( aZone->m_Uuid.AsString() ) );
|
||||||
|
|
||||||
|
if( !aZone->GetZoneName().empty() )
|
||||||
|
m_out->Print( 0, " (name %s)", TO_UTF8( aZone->GetZoneName() ) );
|
||||||
|
|
||||||
// Save the outline aux info
|
// Save the outline aux info
|
||||||
std::string hatch;
|
std::string hatch;
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,8 @@ class TEXTE_PCB;
|
||||||
//#define SEXPR_BOARD_FILE_VERSION 20200119 // arcs in tracks
|
//#define SEXPR_BOARD_FILE_VERSION 20200119 // arcs in tracks
|
||||||
//#define SEXPR_BOARD_FILE_VERSION 20200512 // page -> paper
|
//#define SEXPR_BOARD_FILE_VERSION 20200512 // page -> paper
|
||||||
//#define SEXPR_BOARD_FILE_VERSION 20200518 // save hole_to_hole_min
|
//#define SEXPR_BOARD_FILE_VERSION 20200518 // save hole_to_hole_min
|
||||||
#define SEXPR_BOARD_FILE_VERSION 20200614 // Add support for fp_rects and gr_rects
|
//#define SEXPR_BOARD_FILE_VERSION 20200614 // Add support for fp_rects and gr_rects
|
||||||
|
#define SEXPR_BOARD_FILE_VERSION 20200623 // Add name property to zones
|
||||||
|
|
||||||
#define CTL_STD_LAYER_NAMES (1 << 0) ///< Use English Standard layer names
|
#define CTL_STD_LAYER_NAMES (1 << 0) ///< Use English Standard layer names
|
||||||
#define CTL_OMIT_NETS (1 << 1) ///< Omit pads net names (useless in library)
|
#define CTL_OMIT_NETS (1 << 1) ///< Omit pads net names (useless in library)
|
||||||
|
|
|
@ -4106,9 +4106,17 @@ ZONE_CONTAINER* PCB_PARSER::parseZONE_CONTAINER( BOARD_ITEM_CONTAINER* aParent )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case T_name:
|
||||||
|
{
|
||||||
|
NextTok();
|
||||||
|
zone->SetZoneName( FromUTF8() );
|
||||||
|
NeedRIGHT();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Expecting( "net, layer/layers, tstamp, hatch, priority, connect_pads, min_thickness, "
|
Expecting( "net, layer/layers, tstamp, hatch, priority, connect_pads, min_thickness, "
|
||||||
"fill, polygon, filled_polygon, or fill_segments" );
|
"fill, polygon, filled_polygon, fill_segments or name" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue