Gate track soldermask properties to outer layers

This commit is contained in:
Jon Evans 2024-10-07 23:12:55 -04:00
parent 537d3ac81a
commit a0707285a1

View File

@ -1999,11 +1999,22 @@ static struct TRACK_VIA_DESC
const wxString groupTechLayers = _HKI( "Technical Layers" );
auto isExternalLayerTrack =
[]( INSPECTABLE* aItem )
{
if( auto track = dynamic_cast<PCB_TRACK*>( aItem ) )
return track->GetLayer() == F_Cu || track->GetLayer() == B_Cu;
return false;
};
propMgr.AddProperty( new PROPERTY<PCB_TRACK, bool>( _HKI( "Soldermask" ),
&PCB_TRACK::SetHasSolderMask, &PCB_TRACK::HasSolderMask ), groupTechLayers );
&PCB_TRACK::SetHasSolderMask, &PCB_TRACK::HasSolderMask ), groupTechLayers )
.SetAvailableFunc( isExternalLayerTrack );
propMgr.AddProperty( new PROPERTY<PCB_TRACK, std::optional<int>>( _HKI( "Soldermask Margin Override" ),
&PCB_TRACK::SetLocalSolderMaskMargin, &PCB_TRACK::GetLocalSolderMaskMargin,
PROPERTY_DISPLAY::PT_SIZE ), groupTechLayers );
PROPERTY_DISPLAY::PT_SIZE ), groupTechLayers )
.SetAvailableFunc( isExternalLayerTrack );
// Arc
REGISTER_TYPE( PCB_ARC );