put module text configuration variables into the BOARD

This commit is contained in:
Dick Hollenbeck 2012-02-02 01:23:00 -06:00
parent 2b3b2fc0cf
commit 1ca894584c
11 changed files with 172 additions and 172 deletions

View File

@ -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();

View File

@ -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);
} }

View File

@ -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 =

View File

@ -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() );

View File

@ -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 );
} }
} }

View File

@ -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,

View File

@ -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 ) )

View File

@ -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 ) );

View File

@ -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;

View File

@ -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;

View File

@ -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 ) );