put module text configuration variables into the BOARD
This commit is contained in:
parent
2b3b2fc0cf
commit
1ca894584c
|
@ -11,33 +11,39 @@
|
||||||
class BOARD_DESIGN_SETTINGS
|
class BOARD_DESIGN_SETTINGS
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
int m_CopperLayerCount; ///< Number of copper layers for this design
|
int m_CopperLayerCount; ///< Number of copper layers for this design
|
||||||
int m_EnabledLayers; ///< Bit-mask for layer enabling
|
int m_EnabledLayers; ///< Bit-mask for layer enabling
|
||||||
int m_VisibleLayers; ///< Bit-mask for layer visibility
|
int m_VisibleLayers; ///< Bit-mask for layer visibility
|
||||||
int m_VisibleElements; ///< Bit-mask for element category visibility
|
int m_VisibleElements; ///< Bit-mask for element category visibility
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool m_MicroViasAllowed; ///< true to allow micro vias
|
bool m_MicroViasAllowed; ///< true to allow micro vias
|
||||||
int m_CurrentViaType; ///< via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA)
|
int m_CurrentViaType; ///< via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA)
|
||||||
|
|
||||||
/// if true, when creating a new track starting on an existing track, use this track width
|
/// if true, when creating a new track starting on an existing track, use this track width
|
||||||
bool m_UseConnectedTrackWidth;
|
bool m_UseConnectedTrackWidth;
|
||||||
int m_DrawSegmentWidth; ///< current graphic line width (not EDGE layer)
|
int m_DrawSegmentWidth; ///< current graphic line width (not EDGE layer)
|
||||||
int m_EdgeSegmentWidth; ///< current graphic line width (EDGE layer only)
|
int m_EdgeSegmentWidth; ///< current graphic line width (EDGE layer only)
|
||||||
int m_PcbTextWidth; ///< current Pcb (not module) Text width
|
int m_PcbTextWidth; ///< current Pcb (not module) Text width
|
||||||
wxSize m_PcbTextSize; ///< current Pcb (not module) Text size
|
wxSize m_PcbTextSize; ///< current Pcb (not module) Text size
|
||||||
int m_TrackMinWidth; ///< track min value for width ((min copper size value
|
int m_TrackMinWidth; ///< track min value for width ((min copper size value
|
||||||
int m_ViasMinSize; ///< vias (not micro vias) min diameter
|
int m_ViasMinSize; ///< vias (not micro vias) min diameter
|
||||||
int m_ViasMinDrill; ///< vias (not micro vias) min drill diameter
|
int m_ViasMinDrill; ///< vias (not micro vias) min drill diameter
|
||||||
int m_MicroViasMinSize; ///< micro vias (not vias) min diameter
|
int m_MicroViasMinSize; ///< micro vias (not vias) min diameter
|
||||||
int m_MicroViasMinDrill; ///< micro vias (not vias) min drill diameter
|
int m_MicroViasMinDrill; ///< micro vias (not vias) min drill diameter
|
||||||
|
|
||||||
// Global mask margins:
|
// Global mask margins:
|
||||||
int m_SolderMaskMargin; ///< Solder mask margin
|
int m_SolderMaskMargin; ///< Solder mask margin
|
||||||
int m_SolderPasteMargin; ///< Solder paste margin absolute value
|
int m_SolderPasteMargin; ///< Solder paste margin absolute value
|
||||||
double m_SolderPasteMarginRatio; ///< Solder pask margin ratio value of pad size
|
double m_SolderPasteMarginRatio; ///< Solder pask margin ratio value of pad size
|
||||||
///< The final margin is the sum of these 2 values
|
///< The final margin is the sum of these 2 values
|
||||||
int m_BoardThickness; ///< Board Thickness for 3D viewer
|
int m_BoardThickness; ///< Board Thickness for 3D viewer
|
||||||
|
|
||||||
|
// Variables used in footprint handling
|
||||||
|
wxSize m_ModuleTextSize; ///< Default footprint texts size
|
||||||
|
int m_ModuleTextWidth;
|
||||||
|
int m_ModuleSegmentWidth;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BOARD_DESIGN_SETTINGS();
|
BOARD_DESIGN_SETTINGS();
|
||||||
|
|
|
@ -45,6 +45,11 @@ BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS()
|
||||||
// The final margin is the sum of these 2 values
|
// The final margin is the sum of these 2 values
|
||||||
// Usually < 0 because the mask is smaller than pad
|
// Usually < 0 because the mask is smaller than pad
|
||||||
|
|
||||||
|
m_ModuleTextSize = wxSize( 500, 500 );
|
||||||
|
m_ModuleTextWidth = 100;
|
||||||
|
m_ModuleSegmentWidth = 100;
|
||||||
|
|
||||||
|
|
||||||
// Layer thickness for 3D viewer
|
// Layer thickness for 3D viewer
|
||||||
m_BoardThickness = (int)(1.6 * PCB_INTERNAL_UNIT / 25.4);
|
m_BoardThickness = (int)(1.6 * PCB_INTERNAL_UNIT / 25.4);
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,20 +86,20 @@ void DIALOG_GRAPHIC_ITEMS_OPTIONS::initValues()
|
||||||
/* Modules: Edges width */
|
/* Modules: Edges width */
|
||||||
AddUnitSymbol( *m_EdgeModWidthTitle );
|
AddUnitSymbol( *m_EdgeModWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleEdgesWidth,
|
PutValueInLocalUnits( *m_OptModuleEdgesWidth,
|
||||||
g_ModuleSegmentWidth, PCB_INTERNAL_UNIT );
|
m_BrdSettings.m_ModuleSegmentWidth, PCB_INTERNAL_UNIT );
|
||||||
|
|
||||||
/* Modules: Texts: Size & width */
|
/* Modules: Texts: Size & width */
|
||||||
AddUnitSymbol( *m_TextModWidthTitle );
|
AddUnitSymbol( *m_TextModWidthTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextWidth,
|
PutValueInLocalUnits( *m_OptModuleTextWidth,
|
||||||
g_ModuleTextWidth, PCB_INTERNAL_UNIT );
|
m_BrdSettings.m_ModuleTextWidth, PCB_INTERNAL_UNIT );
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextModSizeVTitle );
|
AddUnitSymbol( *m_TextModSizeVTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextVSize,
|
PutValueInLocalUnits( *m_OptModuleTextVSize,
|
||||||
g_ModuleTextSize.y, PCB_INTERNAL_UNIT );
|
m_BrdSettings.m_ModuleTextSize.y, PCB_INTERNAL_UNIT );
|
||||||
|
|
||||||
AddUnitSymbol( *m_TextModSizeHTitle );
|
AddUnitSymbol( *m_TextModSizeHTitle );
|
||||||
PutValueInLocalUnits( *m_OptModuleTextHSize,
|
PutValueInLocalUnits( *m_OptModuleTextHSize,
|
||||||
g_ModuleTextSize.x, PCB_INTERNAL_UNIT );
|
m_BrdSettings.m_ModuleTextSize.x, PCB_INTERNAL_UNIT );
|
||||||
|
|
||||||
AddUnitSymbol( *m_DefaultPenSizeTitle );
|
AddUnitSymbol( *m_DefaultPenSizeTitle );
|
||||||
PutValueInLocalUnits( *m_DefaultPenSizeCtrl,
|
PutValueInLocalUnits( *m_DefaultPenSizeCtrl,
|
||||||
|
@ -122,13 +122,13 @@ void DIALOG_GRAPHIC_ITEMS_OPTIONS::OnOkClick( wxCommandEvent& event )
|
||||||
|
|
||||||
m_Parent->GetBoard()->SetDesignSettings( m_BrdSettings );
|
m_Parent->GetBoard()->SetDesignSettings( m_BrdSettings );
|
||||||
|
|
||||||
g_ModuleSegmentWidth =
|
m_BrdSettings.m_ModuleSegmentWidth =
|
||||||
ReturnValueFromTextCtrl( *m_OptModuleEdgesWidth, PCB_INTERNAL_UNIT );
|
ReturnValueFromTextCtrl( *m_OptModuleEdgesWidth, PCB_INTERNAL_UNIT );
|
||||||
g_ModuleTextWidth =
|
m_BrdSettings.m_ModuleTextWidth =
|
||||||
ReturnValueFromTextCtrl( *m_OptModuleTextWidth, PCB_INTERNAL_UNIT );
|
ReturnValueFromTextCtrl( *m_OptModuleTextWidth, PCB_INTERNAL_UNIT );
|
||||||
g_ModuleTextSize.y =
|
m_BrdSettings.m_ModuleTextSize.y =
|
||||||
ReturnValueFromTextCtrl( *m_OptModuleTextVSize, PCB_INTERNAL_UNIT );
|
ReturnValueFromTextCtrl( *m_OptModuleTextVSize, PCB_INTERNAL_UNIT );
|
||||||
g_ModuleTextSize.x =
|
m_BrdSettings.m_ModuleTextSize.x =
|
||||||
ReturnValueFromTextCtrl( *m_OptModuleTextHSize, PCB_INTERNAL_UNIT );
|
ReturnValueFromTextCtrl( *m_OptModuleTextHSize, PCB_INTERNAL_UNIT );
|
||||||
|
|
||||||
g_DrawDefaultLineThickness =
|
g_DrawDefaultLineThickness =
|
||||||
|
|
|
@ -159,40 +159,40 @@ static void ShowNewEdgeModule( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint&
|
||||||
|
|
||||||
void FOOTPRINT_EDIT_FRAME::Edit_Edge_Width( EDGE_MODULE* aEdge )
|
void FOOTPRINT_EDIT_FRAME::Edit_Edge_Width( EDGE_MODULE* aEdge )
|
||||||
{
|
{
|
||||||
MODULE* Module = GetBoard()->m_Modules;
|
MODULE* module = GetBoard()->m_Modules;
|
||||||
|
|
||||||
SaveCopyInUndoList( Module, UR_MODEDIT );
|
SaveCopyInUndoList( module, UR_MODEDIT );
|
||||||
|
|
||||||
if( aEdge == NULL )
|
if( aEdge == NULL )
|
||||||
{
|
{
|
||||||
aEdge = (EDGE_MODULE*) (BOARD_ITEM*) Module->m_Drawings;
|
aEdge = (EDGE_MODULE*) (BOARD_ITEM*) module->m_Drawings;
|
||||||
|
|
||||||
for( ; aEdge != NULL; aEdge = aEdge->Next() )
|
for( ; aEdge != NULL; aEdge = aEdge->Next() )
|
||||||
{
|
{
|
||||||
if( aEdge->Type() != PCB_MODULE_EDGE_T )
|
if( aEdge->Type() != PCB_MODULE_EDGE_T )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
aEdge->SetWidth( g_ModuleSegmentWidth );
|
aEdge->SetWidth( GetBoard()->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aEdge->SetWidth( g_ModuleSegmentWidth );
|
aEdge->SetWidth( GetBoard()->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
}
|
}
|
||||||
|
|
||||||
OnModify();
|
OnModify();
|
||||||
Module->CalculateBoundingBox();
|
module->CalculateBoundingBox();
|
||||||
Module->m_LastEdit_Time = time( NULL );
|
module->m_LastEdit_Time = time( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FOOTPRINT_EDIT_FRAME::Edit_Edge_Layer( EDGE_MODULE* Edge )
|
void FOOTPRINT_EDIT_FRAME::Edit_Edge_Layer( EDGE_MODULE* aEdge )
|
||||||
{
|
{
|
||||||
MODULE* Module = GetBoard()->m_Modules;
|
MODULE* module = GetBoard()->m_Modules;
|
||||||
int new_layer = SILKSCREEN_N_FRONT;
|
int new_layer = SILKSCREEN_N_FRONT;
|
||||||
|
|
||||||
if( Edge != NULL )
|
if( aEdge )
|
||||||
new_layer = Edge->GetLayer();
|
new_layer = aEdge->GetLayer();
|
||||||
|
|
||||||
/* Ask for the new layer */
|
/* Ask for the new layer */
|
||||||
new_layer = SelectLayer( new_layer, FIRST_COPPER_LAYER, LAST_NO_COPPER_LAYER );
|
new_layer = SelectLayer( new_layer, FIRST_COPPER_LAYER, LAST_NO_COPPER_LAYER );
|
||||||
|
@ -209,28 +209,28 @@ void FOOTPRINT_EDIT_FRAME::Edit_Edge_Layer( EDGE_MODULE* Edge )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SaveCopyInUndoList( Module, UR_MODEDIT );
|
SaveCopyInUndoList( module, UR_MODEDIT );
|
||||||
|
|
||||||
if( Edge == NULL )
|
if( aEdge == NULL )
|
||||||
{
|
{
|
||||||
Edge = (EDGE_MODULE*) (BOARD_ITEM*) Module->m_Drawings;
|
aEdge = (EDGE_MODULE*) (BOARD_ITEM*) module->m_Drawings;
|
||||||
|
|
||||||
for( ; Edge != NULL; Edge = Edge->Next() )
|
for( ; aEdge != NULL; aEdge = aEdge->Next() )
|
||||||
{
|
{
|
||||||
if( Edge->Type() != PCB_MODULE_EDGE_T )
|
if( aEdge->Type() != PCB_MODULE_EDGE_T )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
Edge->SetLayer( new_layer );
|
aEdge->SetLayer( new_layer );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Edge->SetLayer( new_layer );
|
aEdge->SetLayer( new_layer );
|
||||||
}
|
}
|
||||||
|
|
||||||
OnModify();
|
OnModify();
|
||||||
Module->CalculateBoundingBox();
|
module->CalculateBoundingBox();
|
||||||
Module->m_LastEdit_Time = time( NULL );
|
module->m_LastEdit_Time = time( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ void FOOTPRINT_EDIT_FRAME::Enter_Edge_Width( EDGE_MODULE* aEdge )
|
||||||
{
|
{
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
|
||||||
buffer = ReturnStringFromValue( g_UserUnit, g_ModuleSegmentWidth,
|
buffer = ReturnStringFromValue( g_UserUnit, GetBoard()->GetDesignSettings().m_ModuleSegmentWidth,
|
||||||
GetScreen()->GetInternalUnits() );
|
GetScreen()->GetInternalUnits() );
|
||||||
wxTextEntryDialog dlg( this, _( "New Width:" ), _( "Edge Width" ), buffer );
|
wxTextEntryDialog dlg( this, _( "New Width:" ), _( "Edge Width" ), buffer );
|
||||||
|
|
||||||
|
@ -246,13 +246,13 @@ void FOOTPRINT_EDIT_FRAME::Enter_Edge_Width( EDGE_MODULE* aEdge )
|
||||||
return; // canceled by user
|
return; // canceled by user
|
||||||
|
|
||||||
buffer = dlg.GetValue( );
|
buffer = dlg.GetValue( );
|
||||||
g_ModuleSegmentWidth = ReturnValueFromString( g_UserUnit, buffer,
|
GetBoard()->GetDesignSettings().m_ModuleSegmentWidth =
|
||||||
GetScreen()->GetInternalUnits() );
|
ReturnValueFromString( g_UserUnit, buffer, GetScreen()->GetInternalUnits() );
|
||||||
|
|
||||||
if( aEdge )
|
if( aEdge )
|
||||||
{
|
{
|
||||||
MODULE* module = GetBoard()->m_Modules;
|
MODULE* module = GetBoard()->m_Modules;
|
||||||
aEdge->SetWidth( g_ModuleSegmentWidth );
|
aEdge->SetWidth( GetBoard()->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
module->CalculateBoundingBox();
|
module->CalculateBoundingBox();
|
||||||
OnModify();
|
OnModify();
|
||||||
}
|
}
|
||||||
|
@ -337,7 +337,7 @@ EDGE_MODULE* FOOTPRINT_EDIT_FRAME::Begin_Edge_Module( EDGE_MODULE* Edge,
|
||||||
if( Edge->GetShape() == S_ARC )
|
if( Edge->GetShape() == S_ARC )
|
||||||
Edge->SetAngle( ArcValue );
|
Edge->SetAngle( ArcValue );
|
||||||
|
|
||||||
Edge->SetWidth( g_ModuleSegmentWidth );
|
Edge->SetWidth( GetBoard()->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
Edge->SetLayer( module->GetLayer() );
|
Edge->SetLayer( module->GetLayer() );
|
||||||
|
|
||||||
if( module->GetLayer() == LAYER_N_FRONT )
|
if( module->GetLayer() == LAYER_N_FRONT )
|
||||||
|
@ -383,7 +383,7 @@ EDGE_MODULE* FOOTPRINT_EDIT_FRAME::Begin_Edge_Module( EDGE_MODULE* Edge,
|
||||||
Edge = newedge; // point now new item
|
Edge = newedge; // point now new item
|
||||||
|
|
||||||
Edge->SetFlags( IS_NEW );
|
Edge->SetFlags( IS_NEW );
|
||||||
Edge->SetWidth( g_ModuleSegmentWidth );
|
Edge->SetWidth( GetBoard()->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
Edge->SetStart( GetScreen()->GetCrossHairPosition() );
|
Edge->SetStart( GetScreen()->GetCrossHairPosition() );
|
||||||
Edge->SetEnd( Edge->GetStart() );
|
Edge->SetEnd( Edge->GetStart() );
|
||||||
|
|
||||||
|
|
|
@ -76,10 +76,10 @@ TEXTE_MODULE* PCB_BASE_FRAME::CreateTextModule( MODULE* Module, wxDC* DC )
|
||||||
|
|
||||||
Text->m_Text = wxT( "text" );
|
Text->m_Text = wxT( "text" );
|
||||||
|
|
||||||
g_ModuleTextWidth = Clamp_Text_PenSize( g_ModuleTextWidth,
|
GetBoard()->GetDesignSettings().m_ModuleTextWidth = Clamp_Text_PenSize( GetBoard()->GetDesignSettings().m_ModuleTextWidth,
|
||||||
MIN( g_ModuleTextSize.x, g_ModuleTextSize.y ), true );
|
MIN( GetBoard()->GetDesignSettings().m_ModuleTextSize.x, GetBoard()->GetDesignSettings().m_ModuleTextSize.y ), true );
|
||||||
Text->m_Size = g_ModuleTextSize;
|
Text->m_Size = GetBoard()->GetDesignSettings().m_ModuleTextSize;
|
||||||
Text->m_Thickness = g_ModuleTextWidth;
|
Text->m_Thickness = GetBoard()->GetDesignSettings().m_ModuleTextWidth;
|
||||||
Text->m_Pos = GetScreen()->GetCrossHairPosition();
|
Text->m_Pos = GetScreen()->GetCrossHairPosition();
|
||||||
Text->SetLocalCoord();
|
Text->SetLocalCoord();
|
||||||
|
|
||||||
|
@ -316,8 +316,8 @@ void PCB_BASE_FRAME::ResetTextSize( BOARD_ITEM* aItem, wxDC* aDC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCB_MODULE_TEXT_T:
|
case PCB_MODULE_TEXT_T:
|
||||||
newSize = g_ModuleTextSize;
|
newSize = GetBoard()->GetDesignSettings().m_ModuleTextSize;
|
||||||
newThickness = g_ModuleTextWidth;
|
newThickness = GetBoard()->GetDesignSettings().m_ModuleTextWidth;
|
||||||
moduleText = (TEXTE_MODULE*) aItem;
|
moduleText = (TEXTE_MODULE*) aItem;
|
||||||
text = (EDA_TEXT*) moduleText;
|
text = (EDA_TEXT*) moduleText;
|
||||||
break;
|
break;
|
||||||
|
@ -380,7 +380,7 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
|
||||||
case TEXT_is_REFERENCE:
|
case TEXT_is_REFERENCE:
|
||||||
item = module->m_Reference;
|
item = module->m_Reference;
|
||||||
|
|
||||||
if( item->GetSize() != g_ModuleTextSize || item->GetThickness() != g_ModuleTextWidth )
|
if( item->GetSize() != GetBoard()->GetDesignSettings().m_ModuleTextSize || item->GetThickness() != GetBoard()->GetDesignSettings().m_ModuleTextWidth )
|
||||||
undoItemList.PushItem( itemWrapper );
|
undoItemList.PushItem( itemWrapper );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -388,7 +388,7 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
|
||||||
case TEXT_is_VALUE:
|
case TEXT_is_VALUE:
|
||||||
item = module->m_Value;
|
item = module->m_Value;
|
||||||
|
|
||||||
if( item->GetSize() != g_ModuleTextSize || item->GetThickness() != g_ModuleTextWidth )
|
if( item->GetSize() != GetBoard()->GetDesignSettings().m_ModuleTextSize || item->GetThickness() != GetBoard()->GetDesignSettings().m_ModuleTextWidth )
|
||||||
undoItemList.PushItem( itemWrapper );
|
undoItemList.PushItem( itemWrapper );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -401,8 +401,8 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
|
||||||
{
|
{
|
||||||
item = (TEXTE_MODULE*) boardItem;
|
item = (TEXTE_MODULE*) boardItem;
|
||||||
|
|
||||||
if( item->GetSize() != g_ModuleTextSize
|
if( item->GetSize() != GetBoard()->GetDesignSettings().m_ModuleTextSize
|
||||||
|| item->GetThickness() != g_ModuleTextWidth )
|
|| item->GetThickness() != GetBoard()->GetDesignSettings().m_ModuleTextWidth )
|
||||||
{
|
{
|
||||||
undoItemList.PushItem( itemWrapper );
|
undoItemList.PushItem( itemWrapper );
|
||||||
break;
|
break;
|
||||||
|
@ -432,13 +432,13 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
|
||||||
switch( aType )
|
switch( aType )
|
||||||
{
|
{
|
||||||
case TEXT_is_REFERENCE:
|
case TEXT_is_REFERENCE:
|
||||||
module->m_Reference->SetThickness( g_ModuleTextWidth );
|
module->m_Reference->SetThickness( GetBoard()->GetDesignSettings().m_ModuleTextWidth );
|
||||||
module->m_Reference->SetSize( g_ModuleTextSize );
|
module->m_Reference->SetSize( GetBoard()->GetDesignSettings().m_ModuleTextSize );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_is_VALUE:
|
case TEXT_is_VALUE:
|
||||||
module->m_Value->SetThickness( g_ModuleTextWidth );
|
module->m_Value->SetThickness( GetBoard()->GetDesignSettings().m_ModuleTextWidth );
|
||||||
module->m_Value->SetSize( g_ModuleTextSize );
|
module->m_Value->SetSize( GetBoard()->GetDesignSettings().m_ModuleTextSize );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_is_DIVERS:
|
case TEXT_is_DIVERS:
|
||||||
|
@ -447,8 +447,8 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
|
||||||
if( boardItem->Type() == PCB_MODULE_TEXT_T )
|
if( boardItem->Type() == PCB_MODULE_TEXT_T )
|
||||||
{
|
{
|
||||||
item = (TEXTE_MODULE*) boardItem;
|
item = (TEXTE_MODULE*) boardItem;
|
||||||
item->SetThickness( g_ModuleTextWidth );
|
item->SetThickness( GetBoard()->GetDesignSettings().m_ModuleTextWidth );
|
||||||
item->SetSize( g_ModuleTextSize );
|
item->SetSize( GetBoard()->GetDesignSettings().m_ModuleTextSize );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -563,21 +563,21 @@ int PCB_BASE_FRAME::ReadSetup( LINE_READER* aReader )
|
||||||
|
|
||||||
if( stricmp( line, "EdgeModWidth" ) == 0 )
|
if( stricmp( line, "EdgeModWidth" ) == 0 )
|
||||||
{
|
{
|
||||||
g_ModuleSegmentWidth = atoi( data );
|
GetBoard()->GetDesignSettings().m_ModuleSegmentWidth = atoi( data );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( stricmp( line, "TextModWidth" ) == 0 )
|
if( stricmp( line, "TextModWidth" ) == 0 )
|
||||||
{
|
{
|
||||||
g_ModuleTextWidth = atoi( data );
|
GetBoard()->GetDesignSettings().m_ModuleTextWidth = atoi( data );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( stricmp( line, "TextModSize" ) == 0 )
|
if( stricmp( line, "TextModSize" ) == 0 )
|
||||||
{
|
{
|
||||||
g_ModuleTextSize.x = atoi( data );
|
GetBoard()->GetDesignSettings().m_ModuleTextSize.x = atoi( data );
|
||||||
data = strtok( NULL, delims );
|
data = strtok( NULL, delims );
|
||||||
g_ModuleTextSize.y = atoi( data );
|
GetBoard()->GetDesignSettings().m_ModuleTextSize.y = atoi( data );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -735,9 +735,9 @@ static int WriteSetup( FILE* aFile, PCB_EDIT_FRAME* aFrame, BOARD* aBoard )
|
||||||
aBoard->GetDesignSettings().m_PcbTextSize.x,
|
aBoard->GetDesignSettings().m_PcbTextSize.x,
|
||||||
aBoard->GetDesignSettings().m_PcbTextSize.y );
|
aBoard->GetDesignSettings().m_PcbTextSize.y );
|
||||||
|
|
||||||
fprintf( aFile, "EdgeModWidth %d\n", g_ModuleSegmentWidth );
|
fprintf( aFile, "EdgeModWidth %d\n", aBoard->GetDesignSettings().m_ModuleSegmentWidth );
|
||||||
fprintf( aFile, "TextModSize %d %d\n", g_ModuleTextSize.x, g_ModuleTextSize.y );
|
fprintf( aFile, "TextModSize %d %d\n", aBoard->GetDesignSettings().m_ModuleTextSize.x, aBoard->GetDesignSettings().m_ModuleTextSize.y );
|
||||||
fprintf( aFile, "TextModWidth %d\n", g_ModuleTextWidth );
|
fprintf( aFile, "TextModWidth %d\n", aBoard->GetDesignSettings().m_ModuleTextWidth );
|
||||||
fprintf( aFile, "PadSize %d %d\n", g_Pad_Master.m_Size.x, g_Pad_Master.m_Size.y );
|
fprintf( aFile, "PadSize %d %d\n", g_Pad_Master.m_Size.x, g_Pad_Master.m_Size.y );
|
||||||
fprintf( aFile, "PadDrill %d\n", g_Pad_Master.m_Drill.x );
|
fprintf( aFile, "PadDrill %d\n", g_Pad_Master.m_Drill.x );
|
||||||
fprintf( aFile,
|
fprintf( aFile,
|
||||||
|
|
|
@ -71,10 +71,6 @@
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <zones.h>
|
#include <zones.h>
|
||||||
|
|
||||||
#ifdef CVPCB
|
|
||||||
//#include <cvpcb.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_track.h>
|
#include <class_track.h>
|
||||||
|
@ -107,10 +103,11 @@
|
||||||
|
|
||||||
|
|
||||||
/// C string compare test for a specific length of characters.
|
/// C string compare test for a specific length of characters.
|
||||||
/// The -1 is to omit the trailing \0 which is included in sizeof() on a
|
|
||||||
/// string constant.
|
|
||||||
#define TESTLINE( x ) ( !strnicmp( line, x, SZ( x ) ) && isspace( line[SZ( x )] ) )
|
#define TESTLINE( x ) ( !strnicmp( line, x, SZ( x ) ) && isspace( line[SZ( x )] ) )
|
||||||
|
|
||||||
|
/// C sub-string compare test for a specific length of characters.
|
||||||
|
#define TESTSUBSTR( x ) ( !strnicmp( line, x, SZ( x ) ) )
|
||||||
|
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
#define READLINE() m_reader->ReadLine()
|
#define READLINE() m_reader->ReadLine()
|
||||||
|
@ -560,6 +557,7 @@ void KICAD_PLUGIN::loadSHEET()
|
||||||
void KICAD_PLUGIN::loadSETUP()
|
void KICAD_PLUGIN::loadSETUP()
|
||||||
{
|
{
|
||||||
NETCLASS* netclass_default = m_board->m_NetClasses.GetDefault();
|
NETCLASS* netclass_default = m_board->m_NetClasses.GetDefault();
|
||||||
|
BOARD_DESIGN_SETTINGS bds = m_board->GetDesignSettings();
|
||||||
|
|
||||||
while( READLINE() )
|
while( READLINE() )
|
||||||
{
|
{
|
||||||
|
@ -586,7 +584,7 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
m_board->SetCopperLayerCount( tmp );
|
m_board->SetCopperLayerCount( tmp );
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "Layer[" ) )
|
else if( TESTSUBSTR( "Layer[" ) )
|
||||||
{
|
{
|
||||||
// eg: "Layer[n] <a_Layer_name_with_no_spaces> <LAYER_T>"
|
// eg: "Layer[n] <a_Layer_name_with_no_spaces> <LAYER_T>"
|
||||||
|
|
||||||
|
@ -634,7 +632,7 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
else if( TESTLINE( "TrackMinWidth" ) )
|
else if( TESTLINE( "TrackMinWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "TrackMinWidth" ) );
|
BIU tmp = biuParse( line + SZ( "TrackMinWidth" ) );
|
||||||
m_board->GetDesignSettings().m_TrackMinWidth = tmp;
|
bds.m_TrackMinWidth = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "ZoneClearence" ) )
|
else if( TESTLINE( "ZoneClearence" ) )
|
||||||
|
@ -646,25 +644,25 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
else if( TESTLINE( "DrawSegmWidth" ) )
|
else if( TESTLINE( "DrawSegmWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "DrawSegmWidth" ) );
|
BIU tmp = biuParse( line + SZ( "DrawSegmWidth" ) );
|
||||||
m_board->GetDesignSettings().m_DrawSegmentWidth = tmp;
|
bds.m_DrawSegmentWidth = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "EdgeSegmWidth" ) )
|
else if( TESTLINE( "EdgeSegmWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "EdgeSegmWidth" ) );
|
BIU tmp = biuParse( line + SZ( "EdgeSegmWidth" ) );
|
||||||
m_board->GetDesignSettings().m_EdgeSegmentWidth = tmp;
|
bds.m_EdgeSegmentWidth = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "ViaMinSize" ) )
|
else if( TESTLINE( "ViaMinSize" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "ViaMinSize" ) );
|
BIU tmp = biuParse( line + SZ( "ViaMinSize" ) );
|
||||||
m_board->GetDesignSettings().m_ViasMinSize = tmp;
|
bds.m_ViasMinSize = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "MicroViaMinSize" ) )
|
else if( TESTLINE( "MicroViaMinSize" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "MicroViaMinSize" ) );
|
BIU tmp = biuParse( line + SZ( "MicroViaMinSize" ) );
|
||||||
m_board->GetDesignSettings().m_MicroViasMinSize = tmp;
|
bds.m_MicroViasMinSize = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "ViaSizeList" ) )
|
else if( TESTLINE( "ViaSizeList" ) )
|
||||||
|
@ -690,7 +688,7 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
else if( TESTLINE( "ViaMinDrill" ) )
|
else if( TESTLINE( "ViaMinDrill" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "ViaMinDrill" ) );
|
BIU tmp = biuParse( line + SZ( "ViaMinDrill" ) );
|
||||||
m_board->GetDesignSettings().m_ViasMinDrill = tmp;
|
bds.m_ViasMinDrill = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "MicroViaDrill" ) )
|
else if( TESTLINE( "MicroViaDrill" ) )
|
||||||
|
@ -702,19 +700,19 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
else if( TESTLINE( "MicroViaMinDrill" ) )
|
else if( TESTLINE( "MicroViaMinDrill" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "MicroViaMinDrill" ) );
|
BIU tmp = biuParse( line + SZ( "MicroViaMinDrill" ) );
|
||||||
m_board->GetDesignSettings().m_MicroViasMinDrill = tmp;
|
bds.m_MicroViasMinDrill = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "MicroViasAllowed" ) )
|
else if( TESTLINE( "MicroViasAllowed" ) )
|
||||||
{
|
{
|
||||||
int tmp = intParse( line + SZ( "MicroViasAllowed" ) );
|
int tmp = intParse( line + SZ( "MicroViasAllowed" ) );
|
||||||
m_board->GetDesignSettings().m_MicroViasAllowed = tmp;
|
bds.m_MicroViasAllowed = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "TextPcbWidth" ) )
|
else if( TESTLINE( "TextPcbWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "TextPcbWidth" ) );
|
BIU tmp = biuParse( line + SZ( "TextPcbWidth" ) );
|
||||||
m_board->GetDesignSettings().m_PcbTextWidth = tmp;
|
bds.m_PcbTextWidth = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "TextPcbSize" ) )
|
else if( TESTLINE( "TextPcbSize" ) )
|
||||||
|
@ -722,32 +720,27 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
BIU x = biuParse( line + SZ( "TextPcbSize" ), &data );
|
BIU x = biuParse( line + SZ( "TextPcbSize" ), &data );
|
||||||
BIU y = biuParse( data );
|
BIU y = biuParse( data );
|
||||||
|
|
||||||
m_board->GetDesignSettings().m_PcbTextSize = wxSize( x, y );
|
bds.m_PcbTextSize = wxSize( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "EdgeModWidth" ) )
|
else if( TESTLINE( "EdgeModWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "EdgeModWidth" ) );
|
BIU tmp = biuParse( line + SZ( "EdgeModWidth" ) );
|
||||||
/* @todo
|
bds.m_ModuleSegmentWidth = tmp;
|
||||||
g_ModuleSegmentWidth = tmp;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "TextModWidth" ) )
|
else if( TESTLINE( "TextModWidth" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "TextModWidth" ) );
|
BIU tmp = biuParse( line + SZ( "TextModWidth" ) );
|
||||||
/* @todo
|
bds.m_ModuleTextWidth = tmp;
|
||||||
g_ModuleTextWidth = tmp;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "TextModSize" ) )
|
else if( TESTLINE( "TextModSize" ) )
|
||||||
{
|
{
|
||||||
BIU x = biuParse( line + SZ( "TextModSize" ), &data );
|
BIU x = biuParse( line + SZ( "TextModSize" ), &data );
|
||||||
BIU y = biuParse( data );
|
BIU y = biuParse( data );
|
||||||
/* @todo
|
|
||||||
g_ModuleTextSize = wxSize( x, y );
|
bds.m_ModuleTextSize = wxSize( x, y );
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "PadSize" ) )
|
else if( TESTLINE( "PadSize" ) )
|
||||||
|
@ -771,19 +764,19 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
else if( TESTLINE( "Pad2MaskClearance" ) )
|
else if( TESTLINE( "Pad2MaskClearance" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "Pad2MaskClearance" ) );
|
BIU tmp = biuParse( line + SZ( "Pad2MaskClearance" ) );
|
||||||
m_board->GetDesignSettings().m_SolderMaskMargin = tmp;
|
bds.m_SolderMaskMargin = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "Pad2PasteClearance" ) )
|
else if( TESTLINE( "Pad2PasteClearance" ) )
|
||||||
{
|
{
|
||||||
BIU tmp = biuParse( line + SZ( "Pad2PasteClearance" ) );
|
BIU tmp = biuParse( line + SZ( "Pad2PasteClearance" ) );
|
||||||
m_board->GetDesignSettings().m_SolderPasteMargin = tmp;
|
bds.m_SolderPasteMargin = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "Pad2PasteClearanceRatio" ) )
|
else if( TESTLINE( "Pad2PasteClearanceRatio" ) )
|
||||||
{
|
{
|
||||||
double ratio = atof( line + SZ( "Pad2PasteClearanceRatio" ) );
|
double ratio = atof( line + SZ( "Pad2PasteClearanceRatio" ) );
|
||||||
m_board->GetDesignSettings().m_SolderPasteMarginRatio = ratio;
|
bds.m_SolderPasteMarginRatio = ratio;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( TESTLINE( "GridOrigin" ) )
|
else if( TESTLINE( "GridOrigin" ) )
|
||||||
|
@ -799,6 +792,8 @@ void KICAD_PLUGIN::loadSETUP()
|
||||||
|
|
||||||
else if( TESTLINE( "$EndSETUP" ) )
|
else if( TESTLINE( "$EndSETUP" ) )
|
||||||
{
|
{
|
||||||
|
m_board->SetDesignSettings( bds );
|
||||||
|
|
||||||
// Until such time as the *.brd file does not have the
|
// Until such time as the *.brd file does not have the
|
||||||
// global parameters:
|
// global parameters:
|
||||||
// "TrackWidth", "TrackMinWidth", "ViaSize", "ViaDrill",
|
// "TrackWidth", "TrackMinWidth", "ViaSize", "ViaDrill",
|
||||||
|
@ -861,7 +856,7 @@ void KICAD_PLUGIN::loadMODULE()
|
||||||
|
|
||||||
// most frequently encountered ones at the top
|
// most frequently encountered ones at the top
|
||||||
|
|
||||||
if( TESTLINE( "D" ) ) // read a drawing item, e.g. "DS"
|
if( TESTSUBSTR( "D" ) ) // read a drawing item, e.g. "DS"
|
||||||
{
|
{
|
||||||
loadMODULE_EDGE( module.get() );
|
loadMODULE_EDGE( module.get() );
|
||||||
}
|
}
|
||||||
|
@ -872,7 +867,7 @@ void KICAD_PLUGIN::loadMODULE()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read a footprint text description (ref, value, or drawing)
|
// Read a footprint text description (ref, value, or drawing)
|
||||||
else if( TESTLINE( "T" ) )
|
else if( TESTSUBSTR( "T" ) )
|
||||||
{
|
{
|
||||||
// e.g. "T1 6940 -16220 350 300 900 60 M I 20 N "CFCARD"\r\n"
|
// e.g. "T1 6940 -16220 350 300 900 60 M I 20 N "CFCARD"\r\n"
|
||||||
|
|
||||||
|
@ -2776,7 +2771,8 @@ void KICAD_PLUGIN::saveSHEET() const
|
||||||
|
|
||||||
void KICAD_PLUGIN::saveSETUP() const
|
void KICAD_PLUGIN::saveSETUP() const
|
||||||
{
|
{
|
||||||
NETCLASS* netclass_default = m_board->m_NetClasses.GetDefault();
|
NETCLASS* netclass_default = m_board->m_NetClasses.GetDefault();
|
||||||
|
const BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
|
||||||
|
|
||||||
fprintf( m_fp, "$SETUP\n" );
|
fprintf( m_fp, "$SETUP\n" );
|
||||||
|
|
||||||
|
@ -2812,16 +2808,16 @@ void KICAD_PLUGIN::saveSETUP() const
|
||||||
fprintf( m_fp, "ZoneClearence %d\n", g_Zone_Default_Setting.m_ZoneClearance );
|
fprintf( m_fp, "ZoneClearence %d\n", g_Zone_Default_Setting.m_ZoneClearance );
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fprintf( m_fp, "TrackMinWidth %s\n", fmtBIU( m_board->GetDesignSettings().m_TrackMinWidth ).c_str() );
|
fprintf( m_fp, "TrackMinWidth %s\n", fmtBIU( bds.m_TrackMinWidth ).c_str() );
|
||||||
|
|
||||||
fprintf( m_fp, "DrawSegmWidth %s\n", fmtBIU( m_board->GetDesignSettings().m_DrawSegmentWidth ).c_str() );
|
fprintf( m_fp, "DrawSegmWidth %s\n", fmtBIU( bds.m_DrawSegmentWidth ).c_str() );
|
||||||
fprintf( m_fp, "EdgeSegmWidth %s\n", fmtBIU( m_board->GetDesignSettings().m_EdgeSegmentWidth ).c_str() );
|
fprintf( m_fp, "EdgeSegmWidth %s\n", fmtBIU( bds.m_EdgeSegmentWidth ).c_str() );
|
||||||
|
|
||||||
// Save current default via size, for compatibility with older Pcbnew version;
|
// Save current default via size, for compatibility with older Pcbnew version;
|
||||||
fprintf( m_fp, "ViaSize %s\n", fmtBIU( netclass_default->GetViaDiameter() ).c_str() );
|
fprintf( m_fp, "ViaSize %s\n", fmtBIU( netclass_default->GetViaDiameter() ).c_str() );
|
||||||
fprintf( m_fp, "ViaDrill %s\n", fmtBIU( netclass_default->GetViaDrill() ).c_str() );
|
fprintf( m_fp, "ViaDrill %s\n", fmtBIU( netclass_default->GetViaDrill() ).c_str() );
|
||||||
fprintf( m_fp, "ViaMinSize %s\n", fmtBIU( m_board->GetDesignSettings().m_ViasMinSize ).c_str() );
|
fprintf( m_fp, "ViaMinSize %s\n", fmtBIU( bds.m_ViasMinSize ).c_str() );
|
||||||
fprintf( m_fp, "ViaMinDrill %s\n", fmtBIU( m_board->GetDesignSettings().m_ViasMinDrill ).c_str() );
|
fprintf( m_fp, "ViaMinDrill %s\n", fmtBIU( bds.m_ViasMinDrill ).c_str() );
|
||||||
|
|
||||||
// Save custom vias diameters list (the first is not saved here: this is
|
// Save custom vias diameters list (the first is not saved here: this is
|
||||||
// the netclass value
|
// the netclass value
|
||||||
|
@ -2833,28 +2829,29 @@ void KICAD_PLUGIN::saveSETUP() const
|
||||||
// for old versions compatibility:
|
// for old versions compatibility:
|
||||||
fprintf( m_fp, "MicroViaSize %s\n", fmtBIU( netclass_default->GetuViaDiameter() ).c_str() );
|
fprintf( m_fp, "MicroViaSize %s\n", fmtBIU( netclass_default->GetuViaDiameter() ).c_str() );
|
||||||
fprintf( m_fp, "MicroViaDrill %s\n", fmtBIU( netclass_default->GetuViaDrill() ).c_str() );
|
fprintf( m_fp, "MicroViaDrill %s\n", fmtBIU( netclass_default->GetuViaDrill() ).c_str() );
|
||||||
fprintf( m_fp, "MicroViasAllowed %s\n", fmtBIU( m_board->GetDesignSettings().m_MicroViasAllowed ).c_str() );
|
fprintf( m_fp, "MicroViasAllowed %s\n", fmtBIU( bds.m_MicroViasAllowed ).c_str() );
|
||||||
fprintf( m_fp, "MicroViaMinSize %s\n", fmtBIU( m_board->GetDesignSettings().m_MicroViasMinSize ).c_str() );
|
fprintf( m_fp, "MicroViaMinSize %s\n", fmtBIU( bds.m_MicroViasMinSize ).c_str() );
|
||||||
fprintf( m_fp, "MicroViaMinDrill %s\n", fmtBIU( m_board->GetDesignSettings().m_MicroViasMinDrill ).c_str() );
|
fprintf( m_fp, "MicroViaMinDrill %s\n", fmtBIU( bds.m_MicroViasMinDrill ).c_str() );
|
||||||
|
|
||||||
fprintf( m_fp, "TextPcbWidth %s\n", fmtBIU( m_board->GetDesignSettings().m_PcbTextWidth ).c_str() );
|
fprintf( m_fp, "TextPcbWidth %s\n", fmtBIU( bds.m_PcbTextWidth ).c_str() );
|
||||||
fprintf( m_fp, "TextPcbSize %s\n", fmtBIUSize( m_board->GetDesignSettings().m_PcbTextSize ).c_str() );
|
fprintf( m_fp, "TextPcbSize %s\n", fmtBIUSize( bds.m_PcbTextSize ).c_str() );
|
||||||
|
|
||||||
/* @todo no globals
|
fprintf( m_fp, "EdgeModWidth %s\n", fmtBIU( bds.m_ModuleSegmentWidth ).c_str() );
|
||||||
fprintf( m_fp, "EdgeModWidth %d\n", g_ModuleSegmentWidth );
|
fprintf( m_fp, "TextModSize %s\n", fmtBIUSize( bds.m_ModuleTextSize ).c_str() );
|
||||||
fprintf( m_fp, "TextModSize %d %d\n", g_ModuleTextSize.x, g_ModuleTextSize.y );
|
fprintf( m_fp, "TextModWidth %s\n", fmtBIU( bds.m_ModuleTextWidth ).c_str() );
|
||||||
fprintf( m_fp, "TextModWidth %d\n", g_ModuleTextWidth );
|
|
||||||
|
/* @todo
|
||||||
fprintf( m_fp, "PadSize %d %d\n", g_Pad_Master.m_Size.x, g_Pad_Master.m_Size.y );
|
fprintf( m_fp, "PadSize %d %d\n", g_Pad_Master.m_Size.x, g_Pad_Master.m_Size.y );
|
||||||
fprintf( m_fp, "PadDrill %d\n", g_Pad_Master.m_Drill.x );
|
fprintf( m_fp, "PadDrill %d\n", g_Pad_Master.m_Drill.x );
|
||||||
*/
|
*/
|
||||||
|
|
||||||
fprintf( m_fp, "Pad2MaskClearance %s\n", fmtBIU( m_board->GetDesignSettings().m_SolderMaskMargin ).c_str() );
|
fprintf( m_fp, "Pad2MaskClearance %s\n", fmtBIU( bds.m_SolderMaskMargin ).c_str() );
|
||||||
|
|
||||||
if( m_board->GetDesignSettings().m_SolderPasteMargin != 0 )
|
if( bds.m_SolderPasteMargin != 0 )
|
||||||
fprintf( m_fp, "Pad2PasteClearance %s\n", fmtBIU( m_board->GetDesignSettings().m_SolderPasteMargin ).c_str() );
|
fprintf( m_fp, "Pad2PasteClearance %s\n", fmtBIU( bds.m_SolderPasteMargin ).c_str() );
|
||||||
|
|
||||||
if( m_board->GetDesignSettings().m_SolderPasteMarginRatio != 0 )
|
if( bds.m_SolderPasteMarginRatio != 0 )
|
||||||
fprintf( m_fp, "Pad2PasteClearanceRatio %g\n", m_board->GetDesignSettings().m_SolderPasteMarginRatio );
|
fprintf( m_fp, "Pad2PasteClearanceRatio %g\n", bds.m_SolderPasteMarginRatio );
|
||||||
|
|
||||||
/* @todo no aFrame
|
/* @todo no aFrame
|
||||||
if ( aFrame->GetScreen()->m_GridOrigin != wxPoint( 0, 0 ) )
|
if ( aFrame->GetScreen()->m_GridOrigin != wxPoint( 0, 0 ) )
|
||||||
|
|
|
@ -87,7 +87,7 @@ MODULE* FOOTPRINT_EDIT_FRAME::Import_Module()
|
||||||
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
|
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
|
||||||
SetLocaleTo_C_standard();
|
SetLocaleTo_C_standard();
|
||||||
|
|
||||||
/* Read header and test file type */
|
// Read header and test file type
|
||||||
reader.ReadLine();
|
reader.ReadLine();
|
||||||
Line = reader.Line();
|
Line = reader.Line();
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ MODULE* FOOTPRINT_EDIT_FRAME::Import_Module()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read file: Search the description starting line (skip lib header)*/
|
// Read file: Search the description starting line (skip lib header)
|
||||||
if( !Footprint_Is_GPCB_Format )
|
if( !Footprint_Is_GPCB_Format )
|
||||||
{
|
{
|
||||||
while( reader.ReadLine() )
|
while( reader.ReadLine() )
|
||||||
|
@ -127,10 +127,10 @@ MODULE* FOOTPRINT_EDIT_FRAME::Import_Module()
|
||||||
|
|
||||||
SetLocaleTo_Default(); // revert to the current locale
|
SetLocaleTo_Default(); // revert to the current locale
|
||||||
|
|
||||||
/* Insert footprint in list*/
|
// Insert footprint in list
|
||||||
GetBoard()->Add( module );
|
GetBoard()->Add( module );
|
||||||
|
|
||||||
/* Display info : */
|
// Display info :
|
||||||
module->DisplayInfo( this );
|
module->DisplayInfo( this );
|
||||||
PlaceModule( module, NULL );
|
PlaceModule( module, NULL );
|
||||||
GetBoard()->m_Status_Pcb = 0;
|
GetBoard()->m_Status_Pcb = 0;
|
||||||
|
@ -216,7 +216,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
if( CmpName == wxEmptyString )
|
if( CmpName == wxEmptyString )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Confirmation */
|
// Confirmation
|
||||||
msg.Printf( _( "Ok to delete module %s in library %s" ),
|
msg.Printf( _( "Ok to delete module %s in library %s" ),
|
||||||
GetChars( CmpName ), GetChars( aLibname ) );
|
GetChars( CmpName ), GetChars( aLibname ) );
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
|
|
||||||
FOOTPRINT_LIBRARY input_lib( lib_module );
|
FOOTPRINT_LIBRARY input_lib( lib_module );
|
||||||
|
|
||||||
/* Read header. */
|
// Read header.
|
||||||
if( ! input_lib.IsLibrary() )
|
if( ! input_lib.IsLibrary() )
|
||||||
{
|
{
|
||||||
fclose( lib_module );
|
fclose( lib_module );
|
||||||
|
@ -247,7 +247,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read module names. */
|
// Read module names.
|
||||||
input_lib.RebuildIndex();
|
input_lib.RebuildIndex();
|
||||||
bool found = input_lib.FindInList( CmpName );
|
bool found = input_lib.FindInList( CmpName );
|
||||||
|
|
||||||
|
@ -259,7 +259,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create new library. */
|
// Create new library.
|
||||||
newFileName = oldFileName;
|
newFileName = oldFileName;
|
||||||
newFileName.SetExt( FILETMP_EXT );
|
newFileName.SetExt( FILETMP_EXT );
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
output_lib.SortList();
|
output_lib.SortList();
|
||||||
output_lib.WriteSectionIndex();
|
output_lib.WriteSectionIndex();
|
||||||
|
|
||||||
/* Copy modules. */
|
// Copy modules.
|
||||||
rewind( lib_module );
|
rewind( lib_module );
|
||||||
LineNum = input_lib.m_LineNum;
|
LineNum = input_lib.m_LineNum;
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
|
|
||||||
if( msg.CmpNoCase( CmpName ) == 0 )
|
if( msg.CmpNoCase( CmpName ) == 0 )
|
||||||
{
|
{
|
||||||
/* Delete old module (i.e. do not copy description to out_file). */
|
// Delete old module (i.e. do not copy description to out_file).
|
||||||
while( GetLine( lib_module, Line, &LineNum ) )
|
while( GetLine( lib_module, Line, &LineNum ) )
|
||||||
{
|
{
|
||||||
if( strnicmp( Line, "$EndMODULE", 9 ) == 0 )
|
if( strnicmp( Line, "$EndMODULE", 9 ) == 0 )
|
||||||
|
@ -318,7 +318,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
|
|
||||||
wxEndBusyCursor();
|
wxEndBusyCursor();
|
||||||
|
|
||||||
/* The old library file is renamed .bak */
|
// The old library file is renamed .bak
|
||||||
wxFileName backupFileName = oldFileName;
|
wxFileName backupFileName = oldFileName;
|
||||||
backupFileName.SetExt( BACKUP_EXT );
|
backupFileName.SetExt( BACKUP_EXT );
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@ void FOOTPRINT_EDIT_FRAME::Delete_Module_In_Library( const wxString& aLibname )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The temporary file is renamed as the previous library. */
|
// The temporary file is renamed as the previous library.
|
||||||
if( !wxRenameFile( newFileName.GetFullPath(), oldFileName.GetFullPath() ) )
|
if( !wxRenameFile( newFileName.GetFullPath(), oldFileName.GetFullPath() ) )
|
||||||
{
|
{
|
||||||
msg.Printf( _("Could not create temporary library file <%s>."),
|
msg.Printf( _("Could not create temporary library file <%s>."),
|
||||||
|
@ -435,7 +435,7 @@ void PCB_EDIT_FRAME::ArchiveModulesOnBoard( const wxString& aLibName, bool aNewM
|
||||||
if( !success )
|
if( !success )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Check for request to stop backup (ESCAPE key actuated) */
|
// Check for request to stop backup (ESCAPE key actuated)
|
||||||
if( m_canvas->GetAbortRequest() )
|
if( m_canvas->GetAbortRequest() )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -472,7 +472,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
if( !IsWritable( newFileName ) )
|
if( !IsWritable( newFileName ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* Ask for the footprint name in lib */
|
// Ask for the footprint name in lib
|
||||||
Name_Cmp = aModule->m_LibRef;
|
Name_Cmp = aModule->m_LibRef;
|
||||||
|
|
||||||
if( aDisplayDialog )
|
if( aDisplayDialog )
|
||||||
|
@ -506,7 +506,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read library file */
|
// Read library file
|
||||||
FOOTPRINT_LIBRARY input_lib( lib_module );
|
FOOTPRINT_LIBRARY input_lib( lib_module );
|
||||||
|
|
||||||
if( ! input_lib.IsLibrary() )
|
if( ! input_lib.IsLibrary() )
|
||||||
|
@ -517,7 +517,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read footprints in lib: - search for an existing footprint */
|
// Read footprints in lib: - search for an existing footprint
|
||||||
input_lib.RebuildIndex();
|
input_lib.RebuildIndex();
|
||||||
bool module_exists = input_lib.FindInList( Name_Cmp );
|
bool module_exists = input_lib.FindInList( Name_Cmp );
|
||||||
|
|
||||||
|
@ -538,7 +538,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Creates the new library */
|
// Creates the new library
|
||||||
|
|
||||||
newFileName.SetExt( FILETMP_EXT );
|
newFileName.SetExt( FILETMP_EXT );
|
||||||
|
|
||||||
|
@ -563,7 +563,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
|
|
||||||
output_lib.SortList();
|
output_lib.SortList();
|
||||||
|
|
||||||
/* Create the library header with a new date */
|
// Create the library header with a new date
|
||||||
output_lib.WriteHeader();
|
output_lib.WriteHeader();
|
||||||
output_lib.WriteSectionIndex();
|
output_lib.WriteSectionIndex();
|
||||||
|
|
||||||
|
@ -595,7 +595,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
|
|
||||||
if( msg.CmpNoCase( Name_Cmp ) == 0 )
|
if( msg.CmpNoCase( Name_Cmp ) == 0 )
|
||||||
{
|
{
|
||||||
/* skip old footprint descr (delete from the lib) */
|
// skip old footprint descr (delete from the lib)
|
||||||
while( GetLine( lib_module, Line, &LineNum ) )
|
while( GetLine( lib_module, Line, &LineNum ) )
|
||||||
{
|
{
|
||||||
if( strnicmp( Line, "$EndMODULE", 9 ) == 0 )
|
if( strnicmp( Line, "$EndMODULE", 9 ) == 0 )
|
||||||
|
@ -609,7 +609,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
fprintf( dest, "%s\n", Line );
|
fprintf( dest, "%s\n", Line );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write the new footprint ( append it to the list of footprint ) */
|
// Write the new footprint ( append it to the list of footprint )
|
||||||
tmp = aModule->GetTimeStamp();
|
tmp = aModule->GetTimeStamp();
|
||||||
aModule->SetTimeStamp( 0 );
|
aModule->SetTimeStamp( 0 );
|
||||||
aModule->Save( dest );
|
aModule->Save( dest );
|
||||||
|
@ -623,7 +623,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
|
|
||||||
wxEndBusyCursor();
|
wxEndBusyCursor();
|
||||||
|
|
||||||
/* The old library file is renamed .bak */
|
// The old library file is renamed .bak
|
||||||
oldFileName = aLibName;
|
oldFileName = aLibName;
|
||||||
oldFileName.SetExt( BACKUP_EXT );
|
oldFileName.SetExt( BACKUP_EXT );
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The new library file is renamed */
|
// The new library file is renamed
|
||||||
if( !wxRenameFile( newFileName.GetFullPath(), aLibName ) )
|
if( !wxRenameFile( newFileName.GetFullPath(), aLibName ) )
|
||||||
{
|
{
|
||||||
msg.Printf( _( "Could not create temporary library file <%s>." ),
|
msg.Printf( _( "Could not create temporary library file <%s>." ),
|
||||||
|
@ -667,7 +667,7 @@ MODULE* PCB_BASE_FRAME::Create_1_Module( const wxString& aModuleName )
|
||||||
|
|
||||||
moduleName = aModuleName;
|
moduleName = aModuleName;
|
||||||
|
|
||||||
/* Ask for the new module reference */
|
// Ask for the new module reference
|
||||||
if( moduleName.IsEmpty() )
|
if( moduleName.IsEmpty() )
|
||||||
{
|
{
|
||||||
wxTextEntryDialog dlg( this, _( "Module Reference:" ),
|
wxTextEntryDialog dlg( this, _( "Module Reference:" ),
|
||||||
|
@ -693,23 +693,23 @@ MODULE* PCB_BASE_FRAME::Create_1_Module( const wxString& aModuleName )
|
||||||
|
|
||||||
GetBoard()->Add( Module );
|
GetBoard()->Add( Module );
|
||||||
|
|
||||||
/* Update parameters: position, timestamp ... */
|
// Update parameters: position, timestamp ...
|
||||||
newpos = GetScreen()->GetCrossHairPosition();
|
newpos = GetScreen()->GetCrossHairPosition();
|
||||||
Module->SetPosition( newpos );
|
Module->SetPosition( newpos );
|
||||||
Module->m_LastEdit_Time = time( NULL );
|
Module->m_LastEdit_Time = time( NULL );
|
||||||
|
|
||||||
/* Update its name in lib */
|
// Update its name in lib
|
||||||
Module->m_LibRef = moduleName;
|
Module->m_LibRef = moduleName;
|
||||||
|
|
||||||
/* Update reference: */
|
// Update reference:
|
||||||
Module->m_Reference->m_Text = moduleName;
|
Module->m_Reference->m_Text = moduleName;
|
||||||
Module->m_Reference->SetThickness( g_ModuleTextWidth );
|
Module->m_Reference->SetThickness( GetBoard()->GetDesignSettings().m_ModuleTextWidth );
|
||||||
Module->m_Reference->SetSize( g_ModuleTextSize );
|
Module->m_Reference->SetSize( GetBoard()->GetDesignSettings().m_ModuleTextSize );
|
||||||
|
|
||||||
/* Set the value field to a default value */
|
// Set the value field to a default value
|
||||||
Module->m_Value->m_Text = wxT( "VAL**" );
|
Module->m_Value->m_Text = wxT( "VAL**" );
|
||||||
Module->m_Value->SetThickness( g_ModuleTextWidth );
|
Module->m_Value->SetThickness( GetBoard()->GetDesignSettings().m_ModuleTextWidth );
|
||||||
Module->m_Value->SetSize( g_ModuleTextSize );
|
Module->m_Value->SetSize( GetBoard()->GetDesignSettings().m_ModuleTextSize );
|
||||||
|
|
||||||
Module->SetPosition( wxPoint( 0, 0 ) );
|
Module->SetPosition( wxPoint( 0, 0 ) );
|
||||||
|
|
||||||
|
|
|
@ -64,9 +64,6 @@ bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. an
|
||||||
bool Segments_45_Only; // True to allow horiz, vert. and 45deg only graphic segments
|
bool Segments_45_Only; // True to allow horiz, vert. and 45deg only graphic segments
|
||||||
bool g_TwoSegmentTrackBuild = true;
|
bool g_TwoSegmentTrackBuild = true;
|
||||||
|
|
||||||
wxSize g_ModuleTextSize; /* Default footprint texts size */
|
|
||||||
int g_ModuleSegmentWidth;
|
|
||||||
int g_ModuleTextWidth;
|
|
||||||
int Route_Layer_TOP;
|
int Route_Layer_TOP;
|
||||||
int Route_Layer_BOTTOM;
|
int Route_Layer_BOTTOM;
|
||||||
int g_MaxLinksShowed;
|
int g_MaxLinksShowed;
|
||||||
|
|
|
@ -57,11 +57,6 @@ extern bool Segments_45_Only;
|
||||||
extern wxString g_Shapes3DExtBuffer;
|
extern wxString g_Shapes3DExtBuffer;
|
||||||
extern wxString g_DocModulesFileName;
|
extern wxString g_DocModulesFileName;
|
||||||
|
|
||||||
/* Variables used in footprint handling */
|
|
||||||
extern wxSize g_ModuleTextSize; /* Default footprint texts size */
|
|
||||||
extern int g_ModuleTextWidth;
|
|
||||||
extern int g_ModuleSegmentWidth;
|
|
||||||
|
|
||||||
/* Layer pair for auto routing and switch layers by hotkey */
|
/* Layer pair for auto routing and switch layers by hotkey */
|
||||||
extern int Route_Layer_TOP;
|
extern int Route_Layer_TOP;
|
||||||
extern int Route_Layer_BOTTOM;
|
extern int Route_Layer_BOTTOM;
|
||||||
|
|
|
@ -236,11 +236,11 @@ PARAM_CFG_ARRAY PCB_EDIT_FRAME::GetProjectFileParameters()
|
||||||
&bds.m_PcbTextSize.x,
|
&bds.m_PcbTextSize.x,
|
||||||
600, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
600, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
||||||
|
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModV" ), &g_ModuleTextSize.y,
|
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModV" ), &bds.m_ModuleTextSize.y,
|
||||||
500, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
500, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModH" ), &g_ModuleTextSize.x,
|
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModH" ), &bds.m_ModuleTextSize.x,
|
||||||
500, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
500, TEXTS_MIN_SIZE, TEXTS_MAX_SIZE ) );
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModW" ), &g_ModuleTextWidth,
|
pca.push_back( new PARAM_CFG_INT( wxT( "TxtModW" ), &bds.m_ModuleTextWidth,
|
||||||
100, 1, TEXTS_MAX_WIDTH ) );
|
100, 1, TEXTS_MAX_WIDTH ) );
|
||||||
|
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "VEgarde" ),
|
pca.push_back( new PARAM_CFG_INT( wxT( "VEgarde" ),
|
||||||
|
@ -257,7 +257,7 @@ PARAM_CFG_ARRAY PCB_EDIT_FRAME::GetProjectFileParameters()
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "TxtLar" ),
|
pca.push_back( new PARAM_CFG_INT( wxT( "TxtLar" ),
|
||||||
&bds.m_PcbTextWidth,
|
&bds.m_PcbTextWidth,
|
||||||
120, 0, 0xFFFF ) );
|
120, 0, 0xFFFF ) );
|
||||||
pca.push_back( new PARAM_CFG_INT( wxT( "MSegLar" ), &g_ModuleSegmentWidth,
|
pca.push_back( new PARAM_CFG_INT( wxT( "MSegLar" ), &bds.m_ModuleSegmentWidth,
|
||||||
120, 0, 0xFFFF ) );
|
120, 0, 0xFFFF ) );
|
||||||
pca.push_back( new PARAM_CFG_FILENAME( wxT( "LastNetListRead" ),
|
pca.push_back( new PARAM_CFG_FILENAME( wxT( "LastNetListRead" ),
|
||||||
&m_lastNetListRead ) );
|
&m_lastNetListRead ) );
|
||||||
|
|
Loading…
Reference in New Issue