@ -59,14 +59,14 @@
// NOTE: layer configuration info is stored in both the BOARD and BOARD_DESIGN_SETTINGS so one
// of the two needs to read/write the config so we don't end up with order dependency issues.
//
class PARAM_CFG_LAYERS : public PARAM_CFG_BASE
class PARAM_CFG_LAYERS : public PARAM_CFG
{
protected :
BOARD * m_Pt_param ; ///< Pointer to the parameter value
public :
PARAM_CFG_LAYERS ( BOARD * ptparam , const wxChar * group = nullptr ) :
PARAM_CFG_BASE ( wxEmptyString , PARAM_LAYERS , group )
PARAM_CFG ( wxEmptyString , PARAM_LAYERS , group )
{
m_Pt_param = ptparam ;
}
@ -150,14 +150,14 @@ public:
} ;
class PARAM_CFG_TRACKWIDTHS : public PARAM_CFG_BASE
class PARAM_CFG_TRACKWIDTHS : public PARAM_CFG
{
protected :
std : : vector < int > * m_Pt_param ; ///< Pointer to the parameter value
public :
PARAM_CFG_TRACKWIDTHS ( std : : vector < int > * ptparam , const wxChar * group = nullptr ) :
PARAM_CFG_BASE ( wxEmptyString , PARAM_TRACKWIDTHS , group )
PARAM_CFG ( wxEmptyString , PARAM_TRACKWIDTHS , group )
{
m_Pt_param = ptparam ;
}
@ -195,14 +195,14 @@ public:
} ;
class PARAM_CFG_VIADIMENSIONS : public PARAM_CFG_BASE
class PARAM_CFG_VIADIMENSIONS : public PARAM_CFG
{
protected :
std : : vector < VIA_DIMENSION > * m_Pt_param ; ///< Pointer to the parameter value
public :
PARAM_CFG_VIADIMENSIONS ( std : : vector < VIA_DIMENSION > * ptparam , const wxChar * group = nullptr ) :
PARAM_CFG_BASE ( wxEmptyString , PARAM_VIADIMENSIONS , group )
PARAM_CFG ( wxEmptyString , PARAM_VIADIMENSIONS , group )
{
m_Pt_param = ptparam ;
}
@ -247,7 +247,7 @@ public:
} ;
class PARAM_CFG_DIFFPAIRDIMENSIONS : public PARAM_CFG_BASE
class PARAM_CFG_DIFFPAIRDIMENSIONS : public PARAM_CFG
{
protected :
std : : vector < DIFF_PAIR_DIMENSION > * m_Pt_param ; ///< Pointer to the parameter value
@ -255,7 +255,7 @@ protected:
public :
PARAM_CFG_DIFFPAIRDIMENSIONS ( std : : vector < DIFF_PAIR_DIMENSION > * ptparam ,
const wxChar * group = nullptr ) :
PARAM_CFG_BASE ( wxEmptyString , PARAM_DIFFPAIRDIMENSIONS , group )
PARAM_CFG ( wxEmptyString , PARAM_DIFFPAIRDIMENSIONS , group )
{
m_Pt_param = ptparam ;
}
@ -306,7 +306,7 @@ public:
} ;
class PARAM_CFG_NETCLASSES : public PARAM_CFG_BASE
class PARAM_CFG_NETCLASSES : public PARAM_CFG
{
protected :
NETCLASSES * m_Pt_param ; ///< Pointer to the parameter value
@ -314,7 +314,7 @@ protected:
public :
PARAM_CFG_NETCLASSES ( const wxChar * ident , NETCLASSES * ptparam ,
const wxChar * group = nullptr ) :
PARAM_CFG_BASE ( ident , PARAM_NETCLASSES , group )
PARAM_CFG ( ident , PARAM_NETCLASSES , group )
{
m_Pt_param = ptparam ;
}
@ -533,183 +533,176 @@ BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS() :
// Add parameters to save in project config.
// values are saved in mm
void BOARD_DESIGN_SETTINGS : : AppendConfigs ( BOARD * aBoard , PARAM_CFG_ARRAY * aResult )
void BOARD_DESIGN_SETTINGS : : AppendConfigs ( BOARD * aBoard , std : : vector < PARAM_CFG * > * aResult )
{
try
{
aResult - > push_back ( new PARAM_CFG_LAYERS ( aBoard ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " AllowMicroVias " ) ,
& m_MicroViasAllowed , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " AllowBlindVias " ) ,
& m_BlindBuriedViaAllowed , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " RequireCourtyardDefinitions " ) ,
& m_RequireCourtyards , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " ProhibitOverlappingCourtyards " ) ,
& m_ProhibitOverlappingCourtyards , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinTrackWidth " ) ,
& m_TrackMinWidth ,
Millimeter2iu ( DEFAULT_TRACKMINWIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinViaDiameter " ) ,
& m_ViasMinSize ,
Millimeter2iu ( DEFAULT_VIASMINSIZE ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinViaDrill " ) ,
& m_ViasMinDrill ,
Millimeter2iu ( DEFAULT_VIASMINDRILL ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinMicroViaDiameter " ) ,
& m_MicroViasMinSize ,
Millimeter2iu ( DEFAULT_MICROVIASMINSIZE ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinMicroViaDrill " ) ,
& m_MicroViasMinDrill ,
Millimeter2iu ( DEFAULT_MICROVIASMINDRILL ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinHoleToHole " ) ,
& m_HoleToHoleMin ,
Millimeter2iu ( DEFAULT_HOLETOHOLEMIN ) , Millimeter2iu ( 0.0 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
// Note: a clearance of -0.01 is a flag indicating we should use the legacy (pre-6.0) method
// based on the edge cut thicknesses.
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperEdgeClearance " ) ,
& m_CopperEdgeClearance ,
Millimeter2iu ( LEGACY_COPPEREDGECLEARANCE ) , Millimeter2iu ( - 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_TRACKWIDTHS ( & m_TrackWidthList ) ) ;
aResult - > push_back ( new PARAM_CFG_VIADIMENSIONS ( & m_ViasDimensionsList ) ) ;
aResult - > push_back ( new PARAM_CFG_DIFFPAIRDIMENSIONS ( & m_DiffPairDimensionsList ) ) ;
aResult - > push_back ( new PARAM_CFG_NETCLASSES ( wxT ( " Netclasses " ) , & m_NetClasses ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_SILK ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " ModuleOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_SILK ] . y ,
Millimeter2iu ( DEFAULT_SILK_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeV " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_SILK ] . x ,
Millimeter2iu ( DEFAULT_SILK_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeH " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeThickness " ) ,
& m_TextThickness [ LAYER_CLASS_SILK ] ,
Millimeter2iu ( DEFAULT_SILK_TEXT_WIDTH ) , 1 , TEXTS_MAX_WIDTH ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " SilkTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_SILK ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " SilkTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_SILK ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_COPPER ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " DrawSegmentWidth " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_COPPER ] . y ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " PcbTextSizeV " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_COPPER ] . x ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " PcbTextSizeH " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextThickness " ) ,
& m_TextThickness [ LAYER_CLASS_COPPER ] ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " PcbTextThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " CopperTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_COPPER ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " CopperTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_COPPER ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " EdgeCutLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_EDGES ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " BoardOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CourtyardLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_COURTYARD ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_OTHERS ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " ModuleOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_OTHERS ] . x ,
Millimeter2iu ( DEFAULT_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_OTHERS ] . y ,
Millimeter2iu ( DEFAULT_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeThickness " ) ,
& m_TextThickness [ LAYER_CLASS_OTHERS ] ,
Millimeter2iu ( DEFAULT_TEXT_WIDTH ) , 1 , TEXTS_MAX_WIDTH ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " OthersTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_OTHERS ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " OthersTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_OTHERS ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT ( wxT ( " DimensionUnits " ) ,
& m_DimensionUnits , 0 , 0 , 2 ) ) ;
aResult - > push_back ( new PARAM_CFG_INT ( wxT ( " DimensionPrecision " ) ,
& m_DimensionPrecision , 1 , 0 , 2 ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderMaskClearance " ) ,
& m_SolderMaskMargin ,
Millimeter2iu ( DEFAULT_SOLDERMASK_CLEARANCE ) , Millimeter2iu ( - 1.0 ) , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderMaskMinWidth " ) ,
& m_SolderMaskMinWidth ,
Millimeter2iu ( DEFAULT_SOLDERMASK_MIN_WIDTH ) , 0 , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderPasteClearance " ) ,
& m_SolderPasteMargin ,
Millimeter2iu ( DEFAULT_SOLDERPASTE_CLEARANCE ) , Millimeter2iu ( - 1.0 ) , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_DOUBLE ( wxT ( " SolderPasteRatio " ) ,
& m_SolderPasteMarginRatio ,
DEFAULT_SOLDERPASTE_RATIO , - 0.5 , 1.0 ) ) ;
}
catch ( boost : : bad_pointer & )
{
// Out of memory? Ship's going down anyway....
}
aResult - > push_back ( new PARAM_CFG_LAYERS ( aBoard ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " AllowMicroVias " ) ,
& m_MicroViasAllowed , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " AllowBlindVias " ) ,
& m_BlindBuriedViaAllowed , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " RequireCourtyardDefinitions " ) ,
& m_RequireCourtyards , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " ProhibitOverlappingCourtyards " ) ,
& m_ProhibitOverlappingCourtyards , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinTrackWidth " ) ,
& m_TrackMinWidth ,
Millimeter2iu ( DEFAULT_TRACKMINWIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinViaDiameter " ) ,
& m_ViasMinSize ,
Millimeter2iu ( DEFAULT_VIASMINSIZE ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinViaDrill " ) ,
& m_ViasMinDrill ,
Millimeter2iu ( DEFAULT_VIASMINDRILL ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinMicroViaDiameter " ) ,
& m_MicroViasMinSize ,
Millimeter2iu ( DEFAULT_MICROVIASMINSIZE ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinMicroViaDrill " ) ,
& m_MicroViasMinDrill ,
Millimeter2iu ( DEFAULT_MICROVIASMINDRILL ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " MinHoleToHole " ) ,
& m_HoleToHoleMin ,
Millimeter2iu ( DEFAULT_HOLETOHOLEMIN ) , Millimeter2iu ( 0.0 ) , Millimeter2iu ( 10.0 ) ,
nullptr , MM_PER_IU ) ) ;
// Note: a clearance of -0.01 is a flag indicating we should use the legacy (pre-6.0) method
// based on the edge cut thicknesses.
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperEdgeClearance " ) ,
& m_CopperEdgeClearance ,
Millimeter2iu ( LEGACY_COPPEREDGECLEARANCE ) , Millimeter2iu ( - 0.01 ) , Millimeter2iu ( 25.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_TRACKWIDTHS ( & m_TrackWidthList ) ) ;
aResult - > push_back ( new PARAM_CFG_VIADIMENSIONS ( & m_ViasDimensionsList ) ) ;
aResult - > push_back ( new PARAM_CFG_DIFFPAIRDIMENSIONS ( & m_DiffPairDimensionsList ) ) ;
aResult - > push_back ( new PARAM_CFG_NETCLASSES ( wxT ( " Netclasses " ) , & m_NetClasses ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_SILK ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " ModuleOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_SILK ] . y ,
Millimeter2iu ( DEFAULT_SILK_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeV " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_SILK ] . x ,
Millimeter2iu ( DEFAULT_SILK_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeH " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SilkTextSizeThickness " ) ,
& m_TextThickness [ LAYER_CLASS_SILK ] ,
Millimeter2iu ( DEFAULT_SILK_TEXT_WIDTH ) , 1 , TEXTS_MAX_WIDTH ,
nullptr , MM_PER_IU , wxT ( " ModuleTextSizeThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " SilkTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_SILK ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " SilkTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_SILK ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_COPPER ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " DrawSegmentWidth " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_COPPER ] . y ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " PcbTextSizeV " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_COPPER ] . x ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU , wxT ( " PcbTextSizeH " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CopperTextThickness " ) ,
& m_TextThickness [ LAYER_CLASS_COPPER ] ,
Millimeter2iu ( DEFAULT_COPPER_TEXT_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " PcbTextThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " CopperTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_COPPER ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " CopperTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_COPPER ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " EdgeCutLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_EDGES ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " BoardOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " CourtyardLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_COURTYARD ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersLineWidth " ) ,
& m_LineThickness [ LAYER_CLASS_OTHERS ] ,
Millimeter2iu ( DEFAULT_SILK_LINE_WIDTH ) , Millimeter2iu ( 0.01 ) , Millimeter2iu ( 5.0 ) ,
nullptr , MM_PER_IU , wxT ( " ModuleOutlineThickness " ) ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeV " ) ,
& m_TextSize [ LAYER_CLASS_OTHERS ] . x ,
Millimeter2iu ( DEFAULT_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeH " ) ,
& m_TextSize [ LAYER_CLASS_OTHERS ] . y ,
Millimeter2iu ( DEFAULT_TEXT_SIZE ) , TEXTS_MIN_SIZE , TEXTS_MAX_SIZE ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " OthersTextSizeThickness " ) ,
& m_TextThickness [ LAYER_CLASS_OTHERS ] ,
Millimeter2iu ( DEFAULT_TEXT_WIDTH ) , 1 , TEXTS_MAX_WIDTH ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " OthersTextItalic " ) ,
& m_TextItalic [ LAYER_CLASS_OTHERS ] , false ) ) ;
aResult - > push_back ( new PARAM_CFG_BOOL ( wxT ( " OthersTextUpright " ) ,
& m_TextUpright [ LAYER_CLASS_OTHERS ] , true ) ) ;
aResult - > push_back ( new PARAM_CFG_INT ( wxT ( " DimensionUnits " ) ,
& m_DimensionUnits , 0 , 0 , 2 ) ) ;
aResult - > push_back ( new PARAM_CFG_INT ( wxT ( " DimensionPrecision " ) ,
& m_DimensionPrecision , 1 , 0 , 2 ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderMaskClearance " ) ,
& m_SolderMaskMargin ,
Millimeter2iu ( DEFAULT_SOLDERMASK_CLEARANCE ) , Millimeter2iu ( - 1.0 ) , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderMaskMinWidth " ) ,
& m_SolderMaskMinWidth ,
Millimeter2iu ( DEFAULT_SOLDERMASK_MIN_WIDTH ) , 0 , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_INT_WITH_SCALE ( wxT ( " SolderPasteClearance " ) ,
& m_SolderPasteMargin ,
Millimeter2iu ( DEFAULT_SOLDERPASTE_CLEARANCE ) , Millimeter2iu ( - 1.0 ) , Millimeter2iu ( 1.0 ) ,
nullptr , MM_PER_IU ) ) ;
aResult - > push_back ( new PARAM_CFG_DOUBLE ( wxT ( " SolderPasteRatio " ) ,
& m_SolderPasteMarginRatio ,
DEFAULT_SOLDERPASTE_RATIO , - 0.5 , 1.0 ) ) ;
}