small bugs fixed. Added: Support for microvias (see changelog)
This commit is contained in:
parent
a5e2913ded
commit
e3a3d16af8
|
@ -250,7 +250,8 @@ double zpos, height;
|
||||||
int color;
|
int color;
|
||||||
|
|
||||||
r = via->m_Width * g_Parm_3D_Visu.m_BoardScale / 2;
|
r = via->m_Width * g_Parm_3D_Visu.m_BoardScale / 2;
|
||||||
hole = g_Parm_3D_Visu.m_BoardSettings->m_ViaDrill * g_Parm_3D_Visu.m_BoardScale / 2;
|
hole = via->GetDrillValue();
|
||||||
|
hole *= g_Parm_3D_Visu.m_BoardScale / 2;
|
||||||
x = via->m_Start.x * g_Parm_3D_Visu.m_BoardScale;
|
x = via->m_Start.x * g_Parm_3D_Visu.m_BoardScale;
|
||||||
y = via->m_Start.y * g_Parm_3D_Visu.m_BoardScale;
|
y = via->m_Start.y * g_Parm_3D_Visu.m_BoardScale;
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,16 @@ Started 2007-June-11
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2007-Dec-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
+eeschema:
|
||||||
|
missing footprints in export netlist (bug 1867321)
|
||||||
|
Affected: PadsPcb converter did not list all footprints
|
||||||
|
|
||||||
|
+pcbnew:
|
||||||
|
fixed: memory not freeed in block copy (minor bug)
|
||||||
|
Support for micro vias (generation of drill files not finished)
|
||||||
|
|
||||||
2008-jan-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
2008-jan-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
+pcbnew:
|
+pcbnew:
|
||||||
|
|
|
@ -250,7 +250,8 @@ void Write_GENERIC_NetList( WinEDA_SchematicFrame* frame,
|
||||||
|
|
||||||
/* Create netlist module section */
|
/* Create netlist module section */
|
||||||
fprintf( tmpfile, "$BeginComponentList\n" );
|
fprintf( tmpfile, "$BeginComponentList\n" );
|
||||||
for( CurrScreen = ScreenSch; CurrScreen != NULL; CurrScreen = (BASE_SCREEN*) CurrScreen->Pnext )
|
EDA_ScreenList ScreenList( NULL );
|
||||||
|
for( CurrScreen = ScreenList.GetFirst(); CurrScreen != NULL; CurrScreen = ScreenList.GetNext() )
|
||||||
{
|
{
|
||||||
for( DrawList = CurrScreen->EEDrawList; DrawList != NULL; DrawList = DrawList->Pnext )
|
for( DrawList = CurrScreen->EEDrawList; DrawList != NULL; DrawList = DrawList->Pnext )
|
||||||
{
|
{
|
||||||
|
|
|
@ -181,7 +181,7 @@ static int SavePcbFormatAscii( WinEDA_GerberFrame* frame, FILE* aFile,
|
||||||
|
|
||||||
newtrack->SetLayer( 0x0F ); // Layers are 0 to 15 (Cu/Cmp)
|
newtrack->SetLayer( 0x0F ); // Layers are 0 to 15 (Cu/Cmp)
|
||||||
|
|
||||||
newtrack->m_Drill = -1;
|
newtrack->SetDrillDefault();
|
||||||
|
|
||||||
// Compute the via position from track position ( Via position is the
|
// Compute the via position from track position ( Via position is the
|
||||||
// position of the middle of the track segment )
|
// position of the middle of the track segment )
|
||||||
|
|
|
@ -577,6 +577,7 @@ enum main_id {
|
||||||
ID_POPUP_PCB_EDIT_COTATION,
|
ID_POPUP_PCB_EDIT_COTATION,
|
||||||
ID_POPUP_PCB_END_TRACK,
|
ID_POPUP_PCB_END_TRACK,
|
||||||
ID_POPUP_PCB_PLACE_VIA,
|
ID_POPUP_PCB_PLACE_VIA,
|
||||||
|
ID_POPUP_PCB_PLACE_MICROVIA,
|
||||||
|
|
||||||
ID_POPUP_PCB_IMPORT_PAD_SETTINGS,
|
ID_POPUP_PCB_IMPORT_PAD_SETTINGS,
|
||||||
ID_POPUP_PCB_EXPORT_PAD_SETTINGS,
|
ID_POPUP_PCB_EXPORT_PAD_SETTINGS,
|
||||||
|
|
|
@ -150,7 +150,10 @@ class EDA_BoardDesignSettings
|
||||||
public:
|
public:
|
||||||
int m_CopperLayerCount; // Number of copper layers for this design
|
int m_CopperLayerCount; // Number of copper layers for this design
|
||||||
int m_ViaDrill; // via drill (for the entire board)
|
int m_ViaDrill; // via drill (for the entire board)
|
||||||
|
int m_MicroViaDrill; // micro via drill (for the entire board)
|
||||||
int m_CurrentViaSize; // Current via size
|
int m_CurrentViaSize; // Current via size
|
||||||
|
int m_CurrentMicroViaSize; // Current micro via size
|
||||||
|
bool m_MicroViasAllowed; // true to allow micro vias
|
||||||
int m_ViaSizeHistory[HIST0RY_NUMBER]; // Last HIST0RY_NUMBER used via sizes
|
int m_ViaSizeHistory[HIST0RY_NUMBER]; // Last HIST0RY_NUMBER used via sizes
|
||||||
int m_CurrentViaType; // via type (BLIND, TROUGHT ...), bits 1 and 2 (not 0 and 1)
|
int m_CurrentViaType; // via type (BLIND, TROUGHT ...), bits 1 and 2 (not 0 and 1)
|
||||||
int m_CurrentTrackWidth; // current track width
|
int m_CurrentTrackWidth; // current track width
|
||||||
|
@ -222,6 +225,14 @@ public:
|
||||||
* @return BOARD_ITEM* - the one selected, or NULL.
|
* @return BOARD_ITEM* - the one selected, or NULL.
|
||||||
*/
|
*/
|
||||||
BOARD_ITEM* GetCurItem() const { return (BOARD_ITEM*) BASE_SCREEN::GetCurItem(); }
|
BOARD_ITEM* GetCurItem() const { return (BOARD_ITEM*) BASE_SCREEN::GetCurItem(); }
|
||||||
|
|
||||||
|
/* Return true if a microvia can be put on board
|
||||||
|
* A microvia ia a small via restricted to 2 near neighbour layers
|
||||||
|
* because its is hole is made by laser which can penetrate only one layer
|
||||||
|
* It is mainly used to connect BGA to the first inner layer
|
||||||
|
* And it is allowed from an external layer to the first inner layer
|
||||||
|
*/
|
||||||
|
bool IsMicroViaAcceptable(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**********************************/
|
/**********************************/
|
||||||
|
|
Binary file not shown.
2427
internat/fr/kicad.po
2427
internat/fr/kicad.po
File diff suppressed because it is too large
Load Diff
|
@ -110,6 +110,12 @@ void BOARD::UnLink()
|
||||||
|
|
||||||
void BOARD::Add( BOARD_ITEM* aBoardItem, int aControl )
|
void BOARD::Add( BOARD_ITEM* aBoardItem, int aControl )
|
||||||
{
|
{
|
||||||
|
if ( aBoardItem == NULL )
|
||||||
|
{
|
||||||
|
wxFAIL_MSG( wxT("BOARD::Add() param error: aBoardItem NULL") );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch( aBoardItem->Type() )
|
switch( aBoardItem->Type() )
|
||||||
{
|
{
|
||||||
// this one uses a vector
|
// this one uses a vector
|
||||||
|
|
|
@ -199,10 +199,10 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
|
||||||
text << _( "Via" ) << wxT( " " ) << via->ShowWidth();
|
text << _( "Via" ) << wxT( " " ) << via->ShowWidth();
|
||||||
|
|
||||||
int shape = via->Shape();
|
int shape = via->Shape();
|
||||||
if( shape == VIA_BURIED )
|
if( shape == VIA_BLIND_BURIED )
|
||||||
text << wxT(" ") << _( "Blind" );
|
text << wxT(" ") << _( "Blind/Buried" );
|
||||||
else if( shape == VIA_BLIND )
|
else if( shape == VIA_MICROVIA )
|
||||||
text << wxT(" ") << _("Buried");
|
text << wxT(" ") << _("Micro Via");
|
||||||
// else say nothing about normal (through) vias
|
// else say nothing about normal (through) vias
|
||||||
|
|
||||||
net = aPcb->FindNet( via->GetNet() );
|
net = aPcb->FindNet( via->GetNet() );
|
||||||
|
|
|
@ -65,6 +65,8 @@ wxString DRC_ITEM::GetErrorText() const
|
||||||
return wxString( _("Pad near pad") );
|
return wxString( _("Pad near pad") );
|
||||||
case DRCE_VIA_HOLE_BIGGER:
|
case DRCE_VIA_HOLE_BIGGER:
|
||||||
return wxString( _("Via hole > diameter"));
|
return wxString( _("Via hole > diameter"));
|
||||||
|
case DRCE_MICRO_VIA_INCORRECT_LAYER_PAIR:
|
||||||
|
return wxString( _("Micro Via: incorrect layer pairs (not adjacent)"));
|
||||||
case COPPERAREA_INSIDE_COPPERAREA:
|
case COPPERAREA_INSIDE_COPPERAREA:
|
||||||
return wxString( _("Copper area inside copper area"));
|
return wxString( _("Copper area inside copper area"));
|
||||||
case COPPERAREA_CLOSE_TO_COPPERAREA:
|
case COPPERAREA_CLOSE_TO_COPPERAREA:
|
||||||
|
|
|
@ -68,6 +68,16 @@ MARKER::MARKER( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
bText, bPos );
|
bText, bPos );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MARKER::MARKER( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
|
const wxString& aText, const wxPoint& aPos ) :
|
||||||
|
BOARD_ITEM( NULL, TYPEMARKER ) // parent set during BOARD::Add()
|
||||||
|
{
|
||||||
|
init();
|
||||||
|
|
||||||
|
SetData( aErrorCode, aMarkerPos,
|
||||||
|
aText, aPos );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Effacement memoire de la structure */
|
/* Effacement memoire de la structure */
|
||||||
MARKER::~MARKER()
|
MARKER::~MARKER()
|
||||||
|
@ -91,6 +101,17 @@ void MARKER::SetData( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MARKER::SetData( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
|
const wxString& aText, const wxPoint& aPos )
|
||||||
|
{
|
||||||
|
m_drc.SetData( aErrorCode, aMarkerPos,
|
||||||
|
aText, aPos );
|
||||||
|
|
||||||
|
// @todo: switch on error code to set error code specific color, and possibly bitmap.
|
||||||
|
m_Color = WHITE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* supprime du chainage la structure Struct
|
/* supprime du chainage la structure Struct
|
||||||
* les structures arrieres et avant sont chainees directement
|
* les structures arrieres et avant sont chainees directement
|
||||||
*/
|
*/
|
||||||
|
@ -122,7 +143,8 @@ void MARKER::Display_Infos( WinEDA_DrawFrame* frame )
|
||||||
txtA << DRC_ITEM::ShowCoord( rpt.GetPointA() ) << wxT(": ") << rpt.GetTextA();
|
txtA << DRC_ITEM::ShowCoord( rpt.GetPointA() ) << wxT(": ") << rpt.GetTextA();
|
||||||
|
|
||||||
wxString txtB;
|
wxString txtB;
|
||||||
txtB << DRC_ITEM::ShowCoord( rpt.GetPointB() ) << wxT(": ") << rpt.GetTextB();
|
if ( rpt.AsSecondItem() )
|
||||||
|
txtB << DRC_ITEM::ShowCoord( rpt.GetPointB() ) << wxT(": ") << rpt.GetTextB();
|
||||||
|
|
||||||
text_pos = 25;
|
text_pos = 25;
|
||||||
Affiche_1_Parametre( frame, text_pos, txtA, txtB, DARKBROWN );
|
Affiche_1_Parametre( frame, text_pos, txtA, txtB, DARKBROWN );
|
||||||
|
|
|
@ -37,8 +37,18 @@ public:
|
||||||
MARKER( int aErrorCode, const wxPoint& aMarkerPos,
|
MARKER( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
const wxString& aText, const wxPoint& aPos,
|
const wxString& aText, const wxPoint& aPos,
|
||||||
const wxString& bText, const wxPoint& bPos );
|
const wxString& bText, const wxPoint& bPos );
|
||||||
|
/**
|
||||||
~MARKER();
|
* Constructor
|
||||||
|
* @param aErrorCode The categorizing identifier for an error
|
||||||
|
* @param aMarkerPos The position of the MARKER on the BOARD
|
||||||
|
* @param aText Text describing the object
|
||||||
|
* @param aPos The position of the object
|
||||||
|
*/
|
||||||
|
MARKER( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
|
const wxString& aText, const wxPoint& aPos );
|
||||||
|
|
||||||
|
|
||||||
|
~MARKER();
|
||||||
|
|
||||||
void UnLink();
|
void UnLink();
|
||||||
void Draw( WinEDA_DrawPanel* panel, wxDC* DC, int DrawMode );
|
void Draw( WinEDA_DrawPanel* panel, wxDC* DC, int DrawMode );
|
||||||
|
@ -78,6 +88,17 @@ public:
|
||||||
const wxString& aText, const wxPoint& aPos,
|
const wxString& aText, const wxPoint& aPos,
|
||||||
const wxString& bText, const wxPoint& bPos );
|
const wxString& bText, const wxPoint& bPos );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function SetData
|
||||||
|
* fills in all the reportable data associated with a MARKER.
|
||||||
|
* @param aErrorCode The categorizing identifier for an error
|
||||||
|
* @param aMarkerPos The position of the MARKER on the BOARD
|
||||||
|
* @param aText Text describing the object
|
||||||
|
* @param aPos The position of the object
|
||||||
|
*/
|
||||||
|
void SetData( int aErrorCode, const wxPoint& aMarkerPos,
|
||||||
|
const wxString& aText, const wxPoint& aPos );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetReporter
|
* Function GetReporter
|
||||||
|
|
|
@ -52,7 +52,7 @@ TRACK::TRACK( BOARD_ITEM* StructFather, KICAD_T idtype ) :
|
||||||
start = end = NULL;
|
start = end = NULL;
|
||||||
SetNet( 0 );
|
SetNet( 0 );
|
||||||
SetSubNet( 0 );
|
SetSubNet( 0 );
|
||||||
m_Drill = -1;
|
SetDrillDefault();
|
||||||
m_Param = 0;
|
m_Param = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,6 +131,24 @@ TRACK* TRACK::Copy() const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function GetDrillValue
|
||||||
|
* calculate the drill value for vias (m-Drill if > 0, or default drill value for the board
|
||||||
|
* @return real drill_value
|
||||||
|
*/
|
||||||
|
int TRACK::GetDrillValue(void)
|
||||||
|
{
|
||||||
|
if ( Type() != TYPEVIA ) return 0;
|
||||||
|
|
||||||
|
if ( m_Drill >= 0 ) return m_Drill;
|
||||||
|
|
||||||
|
if ( m_Shape == VIA_MICROVIA )
|
||||||
|
return g_DesignSettings.m_MicroViaDrill;
|
||||||
|
|
||||||
|
return g_DesignSettings.m_ViaDrill;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************/
|
/***********************/
|
||||||
bool TRACK::IsNull()
|
bool TRACK::IsNull()
|
||||||
/***********************/
|
/***********************/
|
||||||
|
@ -253,7 +271,7 @@ int TRACK::ReturnMaskLayer()
|
||||||
if( via_type == VIA_THROUGH )
|
if( via_type == VIA_THROUGH )
|
||||||
return ALL_CU_LAYERS;
|
return ALL_CU_LAYERS;
|
||||||
|
|
||||||
// VIA_BLIND or VIA_BURIED:
|
// VIA_BLIND_BURIED or VIA_MICRVIA:
|
||||||
|
|
||||||
int bottom_layer, top_layer;
|
int bottom_layer, top_layer;
|
||||||
|
|
||||||
|
@ -522,33 +540,6 @@ TRACK* TRACK::GetEndNetCode( int NetCode )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if 0 // replaced by Save()
|
|
||||||
/********************************************/
|
|
||||||
bool TRACK::WriteTrackDescr( FILE* File )
|
|
||||||
/********************************************/
|
|
||||||
/* write a via description on file
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
int type = 0;
|
|
||||||
|
|
||||||
if( Type() == TYPEVIA )
|
|
||||||
type = 1;
|
|
||||||
|
|
||||||
if( GetState( DELETED ) )
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
fprintf( File, "Po %d %d %d %d %d %d %d\n", m_Shape,
|
|
||||||
m_Start.x, m_Start.y, m_End.x, m_End.y, m_Width, m_Drill );
|
|
||||||
|
|
||||||
fprintf( File, "De %d %d %d %lX %X\n",
|
|
||||||
m_Layer, type, GetNet(),
|
|
||||||
m_TimeStamp, ReturnStatus() );
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
bool TRACK::Save( FILE* aFile ) const
|
bool TRACK::Save( FILE* aFile ) const
|
||||||
{
|
{
|
||||||
int type = 0;
|
int type = 0;
|
||||||
|
@ -631,21 +622,18 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode )
|
||||||
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y, rayon, color );
|
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y, rayon, color );
|
||||||
if( rayon > (4 * zoom) )
|
if( rayon > (4 * zoom) )
|
||||||
{
|
{
|
||||||
int drill_rayon, inner_rayon = rayon - (2 * zoom);
|
int drill_rayon = GetDrillValue() / 2;
|
||||||
|
int inner_rayon = rayon - (2 * zoom);
|
||||||
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
||||||
inner_rayon, color );
|
inner_rayon, color );
|
||||||
|
|
||||||
// Draw the via hole if the display option allows it
|
// Draw the via hole if the display option allows it
|
||||||
if( DisplayOpt.m_DisplayViaMode != VIA_HOLE_NOT_SHOW )
|
if( DisplayOpt.m_DisplayViaMode != VIA_HOLE_NOT_SHOW )
|
||||||
{
|
{
|
||||||
if( (DisplayOpt.m_DisplayViaMode == ALL_VIA_HOLE_SHOW)
|
if( (DisplayOpt.m_DisplayViaMode == ALL_VIA_HOLE_SHOW) || // Display all drill holes requested
|
||||||
|| ( m_Drill > 0 ) )
|
( (drill_rayon > 0 ) && ! IsDrillDefault() ) ) // Or Display non default holes requested
|
||||||
{
|
{
|
||||||
if( m_Drill > 0 )
|
if( drill_rayon < inner_rayon ) // We can show the via hole
|
||||||
drill_rayon = m_Drill / 2;
|
|
||||||
else
|
|
||||||
drill_rayon = g_DesignSettings.m_ViaDrill / 2;
|
|
||||||
if( drill_rayon < inner_rayon ) // We can show the via hole
|
|
||||||
{
|
{
|
||||||
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
||||||
drill_rayon, color );
|
drill_rayon, color );
|
||||||
|
@ -656,6 +644,33 @@ void TRACK::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode )
|
||||||
if( DisplayOpt.DisplayTrackIsol )
|
if( DisplayOpt.DisplayTrackIsol )
|
||||||
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
GRCircle( &panel->m_ClipBox, DC, m_Start.x, m_Start.y,
|
||||||
rayon + g_DesignSettings.m_TrackClearence, color );
|
rayon + g_DesignSettings.m_TrackClearence, color );
|
||||||
|
// for Micro Vias, draw a partial cross :
|
||||||
|
// X on component layer, or + on copper layer
|
||||||
|
// (so we can see 2 superimposed microvias ):
|
||||||
|
if ( Shape() == VIA_MICROVIA )
|
||||||
|
{
|
||||||
|
int ax, ay, bx, by;
|
||||||
|
if ( IsOnLayer(COPPER_LAYER_N) )
|
||||||
|
{
|
||||||
|
ax = rayon; ay = 0;
|
||||||
|
bx = drill_rayon; by = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ax = ay = (rayon * 707) / 1000;
|
||||||
|
bx = by = (drill_rayon * 707) / 1000;
|
||||||
|
}
|
||||||
|
/* lines | or \ */
|
||||||
|
GRLine( &panel->m_ClipBox, DC, m_Start.x - ax , m_Start.y - ay,
|
||||||
|
m_Start.x - bx , m_Start.y - by, 0, color );
|
||||||
|
GRLine( &panel->m_ClipBox, DC, m_Start.x + bx , m_Start.y + by,
|
||||||
|
m_Start.x + ax , m_Start.y + ay, 0, color );
|
||||||
|
/* lines - or / */
|
||||||
|
GRLine( &panel->m_ClipBox, DC, m_Start.x + ay, m_Start.y - ax ,
|
||||||
|
m_Start.x + by, m_Start.y - bx, 0, color );
|
||||||
|
GRLine( &panel->m_ClipBox, DC, m_Start.x - by, m_Start.y + bx ,
|
||||||
|
m_Start.x - ay, m_Start.y + ax, 0, color );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -813,8 +828,7 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
|
||||||
{
|
{
|
||||||
Affiche_1_Parametre( frame, text_pos, _( "Diam" ), msg, DARKCYAN );
|
Affiche_1_Parametre( frame, text_pos, _( "Diam" ), msg, DARKCYAN );
|
||||||
|
|
||||||
int drill_value = m_Drill >= 0 ?
|
int drill_value = GetDrillValue();
|
||||||
m_Drill : g_DesignSettings.m_ViaDrill;
|
|
||||||
|
|
||||||
valeur_param( (unsigned) drill_value, msg );
|
valeur_param( (unsigned) drill_value, msg );
|
||||||
|
|
||||||
|
@ -909,7 +923,7 @@ void TRACK::Show( int nestLevel, std::ostream& os )
|
||||||
" layer=\"" << m_Layer << '"' <<
|
" layer=\"" << m_Layer << '"' <<
|
||||||
" width=\"" << m_Width << '"' <<
|
" width=\"" << m_Width << '"' <<
|
||||||
|
|
||||||
// " drill=\"" << m_Drill << '"' <<
|
// " drill=\"" << GetDrillValue() << '"' <<
|
||||||
" netcode=\"" << GetNet() << "\">" <<
|
" netcode=\"" << GetNet() << "\">" <<
|
||||||
"<start" << m_Start << "/>" <<
|
"<start" << m_Start << "/>" <<
|
||||||
"<end" << m_End << "/>";
|
"<end" << m_End << "/>";
|
||||||
|
@ -935,12 +949,12 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
|
||||||
cp = "through";
|
cp = "through";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIA_BURIED:
|
case VIA_BLIND_BURIED:
|
||||||
cp = "blind";
|
cp = "blind/buried";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIA_BLIND:
|
case VIA_MICROVIA:
|
||||||
cp = "buried";
|
cp = "micro via";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -959,7 +973,7 @@ void SEGVIA::Show( int nestLevel, std::ostream& os )
|
||||||
" layers=\"" << ReturnPcbLayerName( topLayer ).Trim().mb_str() << ","
|
" layers=\"" << ReturnPcbLayerName( topLayer ).Trim().mb_str() << ","
|
||||||
<< ReturnPcbLayerName( botLayer ).Trim().mb_str() << '"' <<
|
<< ReturnPcbLayerName( botLayer ).Trim().mb_str() << '"' <<
|
||||||
" width=\"" << m_Width << '"' <<
|
" width=\"" << m_Width << '"' <<
|
||||||
" drill=\"" << m_Drill << '"' <<
|
" drill=\"" << GetDrillValue() << '"' <<
|
||||||
" netcode=\"" << GetNet() << "\">" <<
|
" netcode=\"" << GetNet() << "\">" <<
|
||||||
"<pos" << m_Start << "/>";
|
"<pos" << m_Start << "/>";
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
|
|
||||||
|
|
||||||
// Via attributes (m_Shape parmeter)
|
// Via attributes (m_Shape parmeter)
|
||||||
#define VIA_THROUGH 3 /* Always a through hole via */
|
#define VIA_THROUGH 3 /* Always a through hole via */
|
||||||
#define VIA_BURIED 2 /* this via can be on internal layers */
|
#define VIA_BLIND_BURIED 2 /* this via can be on internal layers */
|
||||||
#define VIA_BLIND 1 /* this via which connect from internal layers to an external layer */
|
#define VIA_MICROVIA 1 /* this via which connect from an external layer to the near neightbour internal layer */
|
||||||
#define VIA_NOT_DEFINED 0 /* reserved (unused) */
|
#define VIA_NOT_DEFINED 0 /* not yet used */
|
||||||
|
|
||||||
/***/
|
/***/
|
||||||
|
|
||||||
|
@ -22,10 +22,12 @@ public:
|
||||||
int m_Width; // 0 = line, > 0 = tracks, bus ...
|
int m_Width; // 0 = line, > 0 = tracks, bus ...
|
||||||
wxPoint m_Start; // Line start point
|
wxPoint m_Start; // Line start point
|
||||||
wxPoint m_End; // Line end point
|
wxPoint m_End; // Line end point
|
||||||
|
|
||||||
int m_Shape; // vias: shape and type, Track = shape..
|
int m_Shape; // vias: shape and type, Track = shape..
|
||||||
int m_Drill; // for vias: via drill (- 1 for default value)
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int m_Drill; // for vias: via drill (- 1 for default value)
|
||||||
|
|
||||||
|
public:
|
||||||
BOARD_ITEM* start; // pointers to a connected item (pad or track)
|
BOARD_ITEM* start; // pointers to a connected item (pad or track)
|
||||||
BOARD_ITEM* end;
|
BOARD_ITEM* end;
|
||||||
|
|
||||||
|
@ -64,20 +66,20 @@ public:
|
||||||
{
|
{
|
||||||
return m_Start; // it had to be start or end.
|
return m_Start; // it had to be start or end.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* supprime du chainage la structure Struct */
|
/* supprime du chainage la structure Struct */
|
||||||
void UnLink();
|
void UnLink();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Save
|
* Function Save
|
||||||
* writes the data structures for this object out to a FILE in "*.brd" format.
|
* writes the data structures for this object out to a FILE in "*.brd" format.
|
||||||
* @param aFile The FILE to write to.
|
* @param aFile The FILE to write to.
|
||||||
* @return bool - true if success writing else false.
|
* @return bool - true if success writing else false.
|
||||||
*/
|
*/
|
||||||
bool Save( FILE* aFile ) const;
|
bool Save( FILE* aFile ) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Insert
|
* Function Insert
|
||||||
* inserts a single TRACK, SEGVIA or SEGZONE, or a list of such,
|
* inserts a single TRACK, SEGVIA or SEGZONE, or a list of such,
|
||||||
|
@ -90,13 +92,13 @@ public:
|
||||||
* @param InsertPoint See above
|
* @param InsertPoint See above
|
||||||
*/
|
*/
|
||||||
void Insert( BOARD* aPcb, BOARD_ITEM* InsertPoint );
|
void Insert( BOARD* aPcb, BOARD_ITEM* InsertPoint );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetBestInsertPoint
|
* Function GetBestInsertPoint
|
||||||
* searches the "best" insertion point within the track linked list.
|
* searches the "best" insertion point within the track linked list.
|
||||||
* The best point is the begging of the corresponding net code section.
|
* The best point is the begging of the corresponding net code section.
|
||||||
* (The BOARD::m_Track and BOARD::m_Zone lists are sorted by netcode.)
|
* (The BOARD::m_Track and BOARD::m_Zone lists are sorted by netcode.)
|
||||||
* @param aPcb The BOARD to search for the insertion point.
|
* @param aPcb The BOARD to search for the insertion point.
|
||||||
* @return TRACK* - the item found in the linked list (or NULL if no track)
|
* @return TRACK* - the item found in the linked list (or NULL if no track)
|
||||||
*/
|
*/
|
||||||
TRACK* GetBestInsertPoint( BOARD* aPcb );
|
TRACK* GetBestInsertPoint( BOARD* aPcb );
|
||||||
|
@ -134,8 +136,9 @@ public:
|
||||||
*/
|
*/
|
||||||
double GetLength() const
|
double GetLength() const
|
||||||
{
|
{
|
||||||
int dx = m_Start.x - m_End.x;
|
int dx = m_Start.x - m_End.x;
|
||||||
int dy = m_Start.y - m_End.y;
|
int dy = m_Start.y - m_End.y;
|
||||||
|
|
||||||
return hypot( dx, dy );
|
return hypot( dx, dy );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,6 +148,32 @@ public:
|
||||||
|
|
||||||
/* divers */
|
/* divers */
|
||||||
int Shape() const { return m_Shape & 0xFF; }
|
int Shape() const { return m_Shape & 0xFF; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function SetDrillValue
|
||||||
|
* Set the drill value for vias
|
||||||
|
* @param drill_value = new drill value
|
||||||
|
*/
|
||||||
|
void SetDrillValue(int drill_value) { m_Drill = drill_value; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function SetDrillDefault
|
||||||
|
* Set the drill value for vias at default value (-1)
|
||||||
|
*/
|
||||||
|
void SetDrillDefault(void) { m_Drill = -1; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function IsDrillDefault
|
||||||
|
* @return true if the drill value is default value (-1)
|
||||||
|
*/
|
||||||
|
bool IsDrillDefault(void) { return m_Drill < 0; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function GetDrillValue
|
||||||
|
* calculate the drill value for vias (m-Drill if > 0, or default drill value for the board
|
||||||
|
* @return real drill_value
|
||||||
|
*/
|
||||||
|
int GetDrillValue(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ReturnMaskLayer
|
* Function ReturnMaskLayer
|
||||||
|
@ -203,13 +232,13 @@ public:
|
||||||
/**
|
/**
|
||||||
* Function HitTest (overlayed)
|
* Function HitTest (overlayed)
|
||||||
* tests if the given wxRect intersect this object.
|
* tests if the given wxRect intersect this object.
|
||||||
* For now, an ending point must be inside this rect.
|
* For now, an ending point must be inside this rect.
|
||||||
* @param refPos A wxPoint to test
|
* @param refPos A wxPoint to test
|
||||||
* @return bool - true if a hit, else false
|
* @return bool - true if a hit, else false
|
||||||
*/
|
*/
|
||||||
bool HitTest( EDA_Rect& refArea );
|
bool HitTest( EDA_Rect& refArea );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetClass
|
* Function GetClass
|
||||||
* returns the class name.
|
* returns the class name.
|
||||||
* @return wxString
|
* @return wxString
|
||||||
|
@ -284,12 +313,14 @@ public:
|
||||||
* returns the position of this object.
|
* returns the position of this object.
|
||||||
* @return const wxPoint& - The position of this object.
|
* @return const wxPoint& - The position of this object.
|
||||||
*/
|
*/
|
||||||
wxPoint& GetPosition()
|
wxPoint& GetPosition()
|
||||||
{
|
{
|
||||||
return m_Start;
|
return m_Start;
|
||||||
}
|
}
|
||||||
void SetPosition( const wxPoint& aPoint ) { m_Start=aPoint; m_End=aPoint; }
|
|
||||||
|
|
||||||
|
void SetPosition( const wxPoint& aPoint ) { m_Start = aPoint; m_End = aPoint; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetClass
|
* Function GetClass
|
||||||
* returns the class name.
|
* returns the class name.
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
void EDA_BaseStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
|
void EDA_BaseStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
@ -301,6 +303,29 @@ void PCB_SCREEN::Init()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Return true if a microvia can be put on board
|
||||||
|
* A microvia ia a small via restricted to 2 near neighbour layers
|
||||||
|
* because its is hole is made by laser which can penetrate only one layer
|
||||||
|
* It is mainly used to connect BGA to the first inner layer
|
||||||
|
* And it is allowed from an external layer to the first inner layer
|
||||||
|
*/
|
||||||
|
bool PCB_SCREEN::IsMicroViaAcceptable(void)
|
||||||
|
{
|
||||||
|
int copperlayercnt = g_DesignSettings.m_CopperLayerCount;
|
||||||
|
|
||||||
|
if ( ! g_DesignSettings.m_MicroViasAllowed )
|
||||||
|
return false; // Obvious..
|
||||||
|
if ( copperlayercnt < 4 )
|
||||||
|
return false; // Only on multilayer boards..
|
||||||
|
if ( (m_Active_Layer == COPPER_LAYER_N) ||
|
||||||
|
(m_Active_Layer == LAYER_CMP_N) ||
|
||||||
|
(m_Active_Layer == g_DesignSettings.m_CopperLayerCount - 2) ||
|
||||||
|
(m_Active_Layer == LAYER_N_2) )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
/* class DISPLAY_OPTIONS */
|
/* class DISPLAY_OPTIONS */
|
||||||
/*************************/
|
/*************************/
|
||||||
|
@ -381,8 +406,9 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
|
||||||
m_LayerColor[ii] = default_layer_color[ii];
|
m_LayerColor[ii] = default_layer_color[ii];
|
||||||
|
|
||||||
// Layer colors (tracks and graphic items)
|
// Layer colors (tracks and graphic items)
|
||||||
m_ViaColor[VIA_BLIND] = CYAN;
|
m_ViaColor[VIA_NOT_DEFINED] = DARKGRAY;
|
||||||
m_ViaColor[VIA_BURIED] = BROWN;
|
m_ViaColor[VIA_MICROVIA] = CYAN;
|
||||||
|
m_ViaColor[VIA_BLIND_BURIED] = BROWN;
|
||||||
m_ViaColor[VIA_THROUGH] = WHITE;
|
m_ViaColor[VIA_THROUGH] = WHITE;
|
||||||
m_ModuleTextCMPColor = LIGHTGRAY; // Text module color for modules on the COMPONENT layer
|
m_ModuleTextCMPColor = LIGHTGRAY; // Text module color for modules on the COMPONENT layer
|
||||||
m_ModuleTextCUColor = MAGENTA; // Text module color for modules on the COPPER layer
|
m_ModuleTextCUColor = MAGENTA; // Text module color for modules on the COPPER layer
|
||||||
|
|
|
@ -49,6 +49,8 @@ BEGIN_EVENT_TABLE( WinEDA_PcbTracksDialog, wxDialog )
|
||||||
////@begin WinEDA_PcbTracksDialog event table entries
|
////@begin WinEDA_PcbTracksDialog event table entries
|
||||||
EVT_INIT_DIALOG( WinEDA_PcbTracksDialog::OnInitDialog )
|
EVT_INIT_DIALOG( WinEDA_PcbTracksDialog::OnInitDialog )
|
||||||
|
|
||||||
|
EVT_CHECKBOX( ID_CHECKBOX_ALLOWS_MICROVIA, WinEDA_PcbTracksDialog::OnCheckboxAllowsMicroviaClick )
|
||||||
|
|
||||||
EVT_BUTTON( wxID_OK, WinEDA_PcbTracksDialog::OnOkClick )
|
EVT_BUTTON( wxID_OK, WinEDA_PcbTracksDialog::OnOkClick )
|
||||||
|
|
||||||
EVT_BUTTON( wxID_CANCEL, WinEDA_PcbTracksDialog::OnCancelClick )
|
EVT_BUTTON( wxID_CANCEL, WinEDA_PcbTracksDialog::OnCancelClick )
|
||||||
|
@ -86,6 +88,11 @@ bool WinEDA_PcbTracksDialog::Create( wxWindow* parent, wxWindowID id, const wxSt
|
||||||
m_ViaAltDrillValueTitle = NULL;
|
m_ViaAltDrillValueTitle = NULL;
|
||||||
m_OptCustomViaDrill = NULL;
|
m_OptCustomViaDrill = NULL;
|
||||||
m_OptViaType = NULL;
|
m_OptViaType = NULL;
|
||||||
|
m_MicroViaSizeTitle = NULL;
|
||||||
|
m_MicroViaSizeCtrl = NULL;
|
||||||
|
m_MicroViaDrillTitle = NULL;
|
||||||
|
m_MicroViaDrillCtrl = NULL;
|
||||||
|
m_AllowMicroViaCtrl = NULL;
|
||||||
m_TrackWidthTitle = NULL;
|
m_TrackWidthTitle = NULL;
|
||||||
m_OptTrackWidth = NULL;
|
m_OptTrackWidth = NULL;
|
||||||
m_TrackClearanceTitle = NULL;
|
m_TrackClearanceTitle = NULL;
|
||||||
|
@ -117,80 +124,101 @@ void WinEDA_PcbTracksDialog::CreateControls()
|
||||||
SetFont(*g_DialogFont);
|
SetFont(*g_DialogFont);
|
||||||
|
|
||||||
////@begin WinEDA_PcbTracksDialog content construction
|
////@begin WinEDA_PcbTracksDialog content construction
|
||||||
// Generated by DialogBlocks, Sun 25 Nov 2007 15:41:58 CST (unregistered)
|
// Generated by DialogBlocks, 11/01/2008 21:51:48 (unregistered)
|
||||||
|
|
||||||
WinEDA_PcbTracksDialog* itemDialog1 = this;
|
WinEDA_PcbTracksDialog* itemDialog1 = this;
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
|
||||||
itemDialog1->SetSizer(itemBoxSizer2);
|
itemDialog1->SetSizer(itemBoxSizer2);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
wxStaticBox* itemStaticBoxSizer3Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Vias:"));
|
||||||
itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxALL, 5);
|
wxStaticBoxSizer* itemStaticBoxSizer3 = new wxStaticBoxSizer(itemStaticBoxSizer3Static, wxVERTICAL);
|
||||||
|
itemBoxSizer2->Add(itemStaticBoxSizer3, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
m_ViaSizeTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Via Size"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_ViaSizeTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Via Size"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_ViaSizeTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemStaticBoxSizer3->Add(m_ViaSizeTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptViaSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptViaSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_OptViaSize, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemStaticBoxSizer3->Add(m_OptViaSize, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
m_ViaDefaultDrillValueTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Default Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_ViaDefaultDrillValueTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Default Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_ViaDefaultDrillValueTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemStaticBoxSizer3->Add(m_ViaDefaultDrillValueTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptViaDrill = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptViaDrill = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_OptViaDrill, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemStaticBoxSizer3->Add(m_OptViaDrill, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
m_ViaAltDrillValueTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Alternate Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_ViaAltDrillValueTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Alternate Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_ViaAltDrillValueTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemStaticBoxSizer3->Add(m_ViaAltDrillValueTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptCustomViaDrill = new wxTextCtrl( itemDialog1, ID_TEXTCTRL2, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptCustomViaDrill = new wxTextCtrl( itemDialog1, ID_TEXTCTRL2, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer3->Add(m_OptCustomViaDrill, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemStaticBoxSizer3->Add(m_OptCustomViaDrill, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_OptViaTypeStrings;
|
wxArrayString m_OptViaTypeStrings;
|
||||||
m_OptViaTypeStrings.Add(_("Blind Via"));
|
m_OptViaTypeStrings.Add(_("Through Via"));
|
||||||
m_OptViaTypeStrings.Add(_("Buried Via"));
|
m_OptViaTypeStrings.Add(_("Blind or Buried Via "));
|
||||||
m_OptViaTypeStrings.Add(_("Standard Via"));
|
m_OptViaType = new wxRadioBox( itemDialog1, ID_VIA_TYPE_SELECTION, _("Default Via Type"), wxDefaultPosition, wxDefaultSize, m_OptViaTypeStrings, 1, wxRA_SPECIFY_COLS );
|
||||||
m_OptViaType = new wxRadioBox( itemDialog1, ID_VIA_TYPE_SELECTION, _("Via Type"), wxDefaultPosition, wxDefaultSize, m_OptViaTypeStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_OptViaType->SetSelection(0);
|
m_OptViaType->SetSelection(0);
|
||||||
itemBoxSizer3->Add(m_OptViaType, 0, wxGROW|wxALL, 5);
|
itemStaticBoxSizer3->Add(m_OptViaType, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
itemBoxSizer2->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
wxStaticBox* itemStaticBoxSizer11Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Micro Vias:"));
|
||||||
|
wxStaticBoxSizer* itemStaticBoxSizer11 = new wxStaticBoxSizer(itemStaticBoxSizer11Static, wxVERTICAL);
|
||||||
|
itemBoxSizer2->Add(itemStaticBoxSizer11, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL);
|
m_MicroViaSizeTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Via Size"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer2->Add(itemBoxSizer13, 0, wxGROW|wxALL, 5);
|
itemStaticBoxSizer11->Add(m_MicroViaSizeTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||||
|
|
||||||
|
m_MicroViaSizeCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL7, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemStaticBoxSizer11->Add(m_MicroViaSizeCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
|
m_MicroViaDrillTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemStaticBoxSizer11->Add(m_MicroViaDrillTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||||
|
|
||||||
|
m_MicroViaDrillCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL6, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemStaticBoxSizer11->Add(m_MicroViaDrillCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
|
itemStaticBoxSizer11->Add(5, 5, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
|
m_AllowMicroViaCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_ALLOWS_MICROVIA, _("Allows Micro Vias"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_AllowMicroViaCtrl->SetValue(false);
|
||||||
|
m_AllowMicroViaCtrl->SetHelpText(_("Allows use of micro vias\nThey are very small vias only from an external copper layer to its near neightbour\n"));
|
||||||
|
if (WinEDA_PcbTracksDialog::ShowToolTips())
|
||||||
|
m_AllowMicroViaCtrl->SetToolTip(_("Allows use of micro vias\nThey are very small vias only from an external copper layer to its near neightbour\n"));
|
||||||
|
itemStaticBoxSizer11->Add(m_AllowMicroViaCtrl, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
|
wxBoxSizer* itemBoxSizer18 = new wxBoxSizer(wxVERTICAL);
|
||||||
|
itemBoxSizer2->Add(itemBoxSizer18, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
m_TrackWidthTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Track Width"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_TrackWidthTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Track Width"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_TrackWidthTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemBoxSizer18->Add(m_TrackWidthTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptTrackWidth = new wxTextCtrl( itemDialog1, ID_TEXTCTRL3, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptTrackWidth = new wxTextCtrl( itemDialog1, ID_TEXTCTRL3, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_OptTrackWidth, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemBoxSizer18->Add(m_OptTrackWidth, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
m_TrackClearanceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_TrackClearanceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_TrackClearanceTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemBoxSizer18->Add(m_TrackClearanceTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptTrackClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL4, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptTrackClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL4, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_OptTrackClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemBoxSizer18->Add(m_OptTrackClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
m_MaskClearanceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Mask clearance"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_MaskClearanceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Mask clearance"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_MaskClearanceTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemBoxSizer18->Add(m_MaskClearanceTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_OptMaskMargin = new wxTextCtrl( itemDialog1, ID_TEXTCTRL5, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
m_OptMaskMargin = new wxTextCtrl( itemDialog1, ID_TEXTCTRL5, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(m_OptMaskMargin, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
itemBoxSizer18->Add(m_OptMaskMargin, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
|
||||||
itemBoxSizer13->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxVERTICAL);
|
||||||
|
itemBoxSizer2->Add(itemBoxSizer25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer21 = new wxBoxSizer(wxVERTICAL);
|
wxButton* itemButton26 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(itemBoxSizer21, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemButton26->SetForegroundColour(wxColour(210, 0, 0));
|
||||||
|
itemBoxSizer25->Add(itemButton26, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxButton* itemButton22 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxButton* itemButton27 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, wxBU_LEFT );
|
||||||
itemButton22->SetForegroundColour(wxColour(210, 0, 0));
|
itemButton27->SetForegroundColour(wxColour(0, 0, 255));
|
||||||
itemBoxSizer21->Add(itemButton22, 0, wxGROW|wxALL, 5);
|
itemBoxSizer25->Add(itemButton27, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxButton* itemButton23 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, wxBU_LEFT );
|
|
||||||
itemButton23->SetForegroundColour(wxColour(0, 0, 255));
|
|
||||||
itemBoxSizer21->Add(itemButton23, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
|
// Set validators
|
||||||
|
m_AllowMicroViaCtrl->SetValidator( wxGenericValidator(& g_DesignSettings.m_MicroViasAllowed) );
|
||||||
////@end WinEDA_PcbTracksDialog content construction
|
////@end WinEDA_PcbTracksDialog content construction
|
||||||
SetDisplayValue();
|
SetDisplayValue();
|
||||||
}
|
}
|
||||||
|
@ -235,7 +263,9 @@ void WinEDA_PcbTracksDialog::SetDisplayValue()
|
||||||
/*************************************************/
|
/*************************************************/
|
||||||
{
|
{
|
||||||
AddUnitSymbol(*m_ViaSizeTitle);
|
AddUnitSymbol(*m_ViaSizeTitle);
|
||||||
|
AddUnitSymbol(*m_MicroViaSizeTitle);
|
||||||
AddUnitSymbol(*m_ViaDefaultDrillValueTitle);
|
AddUnitSymbol(*m_ViaDefaultDrillValueTitle);
|
||||||
|
AddUnitSymbol(*m_MicroViaDrillTitle);
|
||||||
AddUnitSymbol(*m_ViaAltDrillValueTitle);
|
AddUnitSymbol(*m_ViaAltDrillValueTitle);
|
||||||
AddUnitSymbol(*m_TrackWidthTitle);
|
AddUnitSymbol(*m_TrackWidthTitle);
|
||||||
AddUnitSymbol(*m_TrackClearanceTitle);
|
AddUnitSymbol(*m_TrackClearanceTitle);
|
||||||
|
@ -243,32 +273,50 @@ void WinEDA_PcbTracksDialog::SetDisplayValue()
|
||||||
|
|
||||||
int Internal_Unit = m_Parent->m_InternalUnits;
|
int Internal_Unit = m_Parent->m_InternalUnits;
|
||||||
PutValueInLocalUnits(*m_OptViaSize, g_DesignSettings.m_CurrentViaSize, Internal_Unit);
|
PutValueInLocalUnits(*m_OptViaSize, g_DesignSettings.m_CurrentViaSize, Internal_Unit);
|
||||||
|
PutValueInLocalUnits(*m_MicroViaSizeCtrl, g_DesignSettings.m_CurrentMicroViaSize, Internal_Unit);
|
||||||
PutValueInLocalUnits(*m_OptViaDrill, g_DesignSettings.m_ViaDrill, Internal_Unit);
|
PutValueInLocalUnits(*m_OptViaDrill, g_DesignSettings.m_ViaDrill, Internal_Unit);
|
||||||
|
PutValueInLocalUnits(*m_MicroViaDrillCtrl, g_DesignSettings.m_MicroViaDrill, Internal_Unit);
|
||||||
PutValueInLocalUnits(*m_OptCustomViaDrill, g_ViaHoleLastValue, Internal_Unit);
|
PutValueInLocalUnits(*m_OptCustomViaDrill, g_ViaHoleLastValue, Internal_Unit);
|
||||||
PutValueInLocalUnits(*m_OptTrackWidth, g_DesignSettings.m_CurrentTrackWidth, Internal_Unit);
|
PutValueInLocalUnits(*m_OptTrackWidth, g_DesignSettings.m_CurrentTrackWidth, Internal_Unit);
|
||||||
PutValueInLocalUnits(*m_OptTrackClearance, g_DesignSettings.m_TrackClearence, Internal_Unit);
|
PutValueInLocalUnits(*m_OptTrackClearance, g_DesignSettings.m_TrackClearence, Internal_Unit);
|
||||||
PutValueInLocalUnits(*m_OptMaskMargin, g_DesignSettings.m_MaskMargin, Internal_Unit);
|
PutValueInLocalUnits(*m_OptMaskMargin, g_DesignSettings.m_MaskMargin, Internal_Unit);
|
||||||
m_OptViaType->SetSelection(g_DesignSettings.m_CurrentViaType - 1);
|
if ( g_DesignSettings.m_CurrentViaType != VIA_THROUGH )
|
||||||
|
m_OptViaType->SetSelection(1);
|
||||||
|
|
||||||
|
m_MicroViaSizeTitle->Enable(g_DesignSettings.m_MicroViasAllowed);
|
||||||
|
m_MicroViaSizeCtrl->Enable(g_DesignSettings.m_MicroViasAllowed);
|
||||||
|
|
||||||
|
m_MicroViaDrillTitle->Enable(g_DesignSettings.m_MicroViasAllowed);
|
||||||
|
m_MicroViaDrillCtrl->Enable(g_DesignSettings.m_MicroViasAllowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
void WinEDA_PcbTracksDialog::AcceptPcbOptions(wxCommandEvent& event)
|
void WinEDA_PcbTracksDialog::AcceptPcbOptions(wxCommandEvent& event)
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
{
|
{
|
||||||
g_DesignSettings.m_CurrentViaType = m_OptViaType->GetSelection() + 1;
|
g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
|
||||||
|
if ( m_OptViaType->GetSelection() > 0 )
|
||||||
|
g_DesignSettings.m_CurrentViaType = VIA_BLIND_BURIED;
|
||||||
if ( g_DesignSettings.m_CurrentViaType != VIA_THROUGH )
|
if ( g_DesignSettings.m_CurrentViaType != VIA_THROUGH )
|
||||||
{
|
{
|
||||||
if( ! IsOK(this,
|
if( ! IsOK(this,
|
||||||
_("You have selected VIA Blind or VIA Buried\nWARNING: this feature is EXPERIMENTAL!!! Accept ?") ) )
|
_("You have selected VIA Blind and Buried\nWARNING: this feature is EXPERIMENTAL!!! Accept ?") ) )
|
||||||
g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
|
g_DesignSettings.m_CurrentViaType = VIA_THROUGH;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_DesignSettings.m_CurrentViaSize =
|
g_DesignSettings.m_CurrentViaSize =
|
||||||
ReturnValueFromTextCtrl(*m_OptViaSize, m_Parent->m_InternalUnits);
|
ReturnValueFromTextCtrl(*m_OptViaSize, m_Parent->m_InternalUnits);
|
||||||
|
g_DesignSettings.m_CurrentMicroViaSize =
|
||||||
|
ReturnValueFromTextCtrl(*m_MicroViaSizeCtrl, m_Parent->m_InternalUnits);
|
||||||
|
|
||||||
|
g_DesignSettings.m_MicroViaDrill =
|
||||||
|
ReturnValueFromTextCtrl(*m_MicroViaDrillCtrl, m_Parent->m_InternalUnits);
|
||||||
g_DesignSettings.m_ViaDrill =
|
g_DesignSettings.m_ViaDrill =
|
||||||
ReturnValueFromTextCtrl(*m_OptViaDrill, m_Parent->m_InternalUnits);
|
ReturnValueFromTextCtrl(*m_OptViaDrill, m_Parent->m_InternalUnits);
|
||||||
g_ViaHoleLastValue =
|
g_ViaHoleLastValue =
|
||||||
ReturnValueFromTextCtrl(*m_OptCustomViaDrill, m_Parent->m_InternalUnits);
|
ReturnValueFromTextCtrl(*m_OptCustomViaDrill, m_Parent->m_InternalUnits);
|
||||||
|
g_DesignSettings.m_MicroViasAllowed = m_AllowMicroViaCtrl->IsChecked();
|
||||||
|
|
||||||
g_DesignSettings.m_CurrentTrackWidth =
|
g_DesignSettings.m_CurrentTrackWidth =
|
||||||
ReturnValueFromTextCtrl(*m_OptTrackWidth, m_Parent->m_InternalUnits);
|
ReturnValueFromTextCtrl(*m_OptTrackWidth, m_Parent->m_InternalUnits);
|
||||||
g_DesignSettings.m_TrackClearence =
|
g_DesignSettings.m_TrackClearence =
|
||||||
|
@ -391,3 +439,17 @@ void WinEDA_PcbTracksDialog::OnInitDialog( wxInitDialogEvent& event )
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_ALLOWS_MICROVIA
|
||||||
|
*/
|
||||||
|
|
||||||
|
void WinEDA_PcbTracksDialog::OnCheckboxAllowsMicroviaClick( wxCommandEvent& event )
|
||||||
|
{
|
||||||
|
bool state = m_AllowMicroViaCtrl->IsChecked();
|
||||||
|
m_MicroViaSizeTitle->Enable(state);
|
||||||
|
m_MicroViaSizeCtrl->Enable(state);
|
||||||
|
m_MicroViaDrillTitle->Enable(state);
|
||||||
|
m_MicroViaDrillCtrl->Enable(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
////@begin includes
|
////@begin includes
|
||||||
|
#include "wx/valgen.h"
|
||||||
////@end includes
|
////@end includes
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -42,6 +43,9 @@
|
||||||
#define ID_TEXTCTRL1 10002
|
#define ID_TEXTCTRL1 10002
|
||||||
#define ID_TEXTCTRL2 10003
|
#define ID_TEXTCTRL2 10003
|
||||||
#define ID_VIA_TYPE_SELECTION 10004
|
#define ID_VIA_TYPE_SELECTION 10004
|
||||||
|
#define ID_TEXTCTRL7 10008
|
||||||
|
#define ID_TEXTCTRL6 10010
|
||||||
|
#define ID_CHECKBOX_ALLOWS_MICROVIA 10009
|
||||||
#define ID_TEXTCTRL3 10005
|
#define ID_TEXTCTRL3 10005
|
||||||
#define ID_TEXTCTRL4 10006
|
#define ID_TEXTCTRL4 10006
|
||||||
#define ID_TEXTCTRL5 10007
|
#define ID_TEXTCTRL5 10007
|
||||||
|
@ -85,6 +89,9 @@ public:
|
||||||
/// wxEVT_INIT_DIALOG event handler for ID_DIALOG
|
/// wxEVT_INIT_DIALOG event handler for ID_DIALOG
|
||||||
void OnInitDialog( wxInitDialogEvent& event );
|
void OnInitDialog( wxInitDialogEvent& event );
|
||||||
|
|
||||||
|
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_ALLOWS_MICROVIA
|
||||||
|
void OnCheckboxAllowsMicroviaClick( wxCommandEvent& event );
|
||||||
|
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
||||||
void OnOkClick( wxCommandEvent& event );
|
void OnOkClick( wxCommandEvent& event );
|
||||||
|
|
||||||
|
@ -115,6 +122,11 @@ public:
|
||||||
wxStaticText* m_ViaAltDrillValueTitle;
|
wxStaticText* m_ViaAltDrillValueTitle;
|
||||||
wxTextCtrl* m_OptCustomViaDrill;
|
wxTextCtrl* m_OptCustomViaDrill;
|
||||||
wxRadioBox* m_OptViaType;
|
wxRadioBox* m_OptViaType;
|
||||||
|
wxStaticText* m_MicroViaSizeTitle;
|
||||||
|
wxTextCtrl* m_MicroViaSizeCtrl;
|
||||||
|
wxStaticText* m_MicroViaDrillTitle;
|
||||||
|
wxTextCtrl* m_MicroViaDrillCtrl;
|
||||||
|
wxCheckBox* m_AllowMicroViaCtrl;
|
||||||
wxStaticText* m_TrackWidthTitle;
|
wxStaticText* m_TrackWidthTitle;
|
||||||
wxTextCtrl* m_OptTrackWidth;
|
wxTextCtrl* m_OptTrackWidth;
|
||||||
wxStaticText* m_TrackClearanceTitle;
|
wxStaticText* m_TrackClearanceTitle;
|
||||||
|
|
|
@ -108,10 +108,12 @@
|
||||||
<bool name="use_resource_archive">0</bool>
|
<bool name="use_resource_archive">0</bool>
|
||||||
<bool name="use_generated_xrc_cpp">0</bool>
|
<bool name="use_generated_xrc_cpp">0</bool>
|
||||||
<bool name="always_generate_xrc">1</bool>
|
<bool name="always_generate_xrc">1</bool>
|
||||||
|
<bool name="use_id_name_for_name">0</bool>
|
||||||
<bool name="archive_xrc_files">1</bool>
|
<bool name="archive_xrc_files">1</bool>
|
||||||
<bool name="archive_image_files">1</bool>
|
<bool name="archive_image_files">1</bool>
|
||||||
<bool name="archive_all_image_files">0</bool>
|
<bool name="archive_all_image_files">0</bool>
|
||||||
<bool name="xrc_retain_relative_paths">1</bool>
|
<bool name="xrc_retain_relative_paths">1</bool>
|
||||||
|
<bool name="xrc_generate_id_tags">0</bool>
|
||||||
</header>
|
</header>
|
||||||
<data>
|
<data>
|
||||||
<document>
|
<document>
|
||||||
|
@ -247,7 +249,6 @@
|
||||||
<bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool>
|
<bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool>
|
||||||
<bool name="proxy-wxCAPTION">1</bool>
|
<bool name="proxy-wxCAPTION">1</bool>
|
||||||
<bool name="proxy-wxRESIZE_BORDER">0</bool>
|
<bool name="proxy-wxRESIZE_BORDER">0</bool>
|
||||||
<bool name="proxy-wxTHICK_FRAME">0</bool>
|
|
||||||
<bool name="proxy-wxSYSTEM_MENU">1</bool>
|
<bool name="proxy-wxSYSTEM_MENU">1</bool>
|
||||||
<bool name="proxy-wxSTAY_ON_TOP">0</bool>
|
<bool name="proxy-wxSTAY_ON_TOP">0</bool>
|
||||||
<bool name="proxy-wxDIALOG_NO_PARENT">0</bool>
|
<bool name="proxy-wxDIALOG_NO_PARENT">0</bool>
|
||||||
|
@ -295,7 +296,7 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
<string name="title">"wxStaticBoxSizer V"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"sizer"</string>
|
<string name="icon-name">"sizer"</string>
|
||||||
|
@ -304,9 +305,18 @@
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"24/4/2006"</string>
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
<string name="proxy-type">"wbStaticBoxSizerProxy"</string>
|
||||||
<string name="proxy-Orientation">"Vertical"</string>
|
<string name="proxy-Id name">"wxID_ANY"</string>
|
||||||
|
<long name="proxy-Id value">-1</long>
|
||||||
|
<string name="proxy-Label">"Vias:"</string>
|
||||||
<string name="proxy-Member variable name">""</string>
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Sizer member variable name">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Static box class">"wxStaticBox"</string>
|
||||||
|
<string name="proxy-Orientation">"Vertical"</string>
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
<string name="proxy-AlignH">"Centre"</string>
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
<string name="proxy-AlignV">"Expand"</string>
|
||||||
<long name="proxy-Stretch factor">0</long>
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
@ -328,7 +338,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbStaticTextProxy"</string>
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
<string name="proxy-Id name">"wxID_STATIC"</string>
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
<long name="proxy-Id value">5105</long>
|
<long name="proxy-Id value">5105</long>
|
||||||
|
@ -398,7 +408,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_TEXTCTRL"</string>
|
<string name="proxy-Id name">"ID_TEXTCTRL"</string>
|
||||||
<long name="proxy-Id value">10001</long>
|
<long name="proxy-Id value">10001</long>
|
||||||
|
@ -470,7 +480,6 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Custom arguments">""</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
@ -481,7 +490,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbStaticTextProxy"</string>
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
<string name="proxy-Id name">"wxID_STATIC"</string>
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
<long name="proxy-Id value">5105</long>
|
<long name="proxy-Id value">5105</long>
|
||||||
|
@ -551,7 +560,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_TEXTCTRL1"</string>
|
<string name="proxy-Id name">"ID_TEXTCTRL1"</string>
|
||||||
<long name="proxy-Id value">10002</long>
|
<long name="proxy-Id value">10002</long>
|
||||||
|
@ -623,7 +632,6 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Custom arguments">""</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
@ -634,7 +642,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbStaticTextProxy"</string>
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
<string name="proxy-Id name">"wxID_STATIC"</string>
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
<long name="proxy-Id value">5105</long>
|
<long name="proxy-Id value">5105</long>
|
||||||
|
@ -704,7 +712,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_TEXTCTRL2"</string>
|
<string name="proxy-Id name">"ID_TEXTCTRL2"</string>
|
||||||
<long name="proxy-Id value">10003</long>
|
<long name="proxy-Id value">10003</long>
|
||||||
|
@ -776,33 +784,6 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Custom arguments">""</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Spacer"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"spacer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"24/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
|
||||||
<long name="proxy-Width">5</long>
|
|
||||||
<long name="proxy-Height">5</long>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxRadioBox: ID_VIA_TYPE_SELECTION"</string>
|
<string name="title">"wxRadioBox: ID_VIA_TYPE_SELECTION"</string>
|
||||||
|
@ -813,7 +794,7 @@
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbRadioBoxProxy"</string>
|
<string name="proxy-type">"wbRadioBoxProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_VIA_TYPE_SELECTION"</string>
|
<string name="proxy-Id name">"ID_VIA_TYPE_SELECTION"</string>
|
||||||
<long name="proxy-Id value">10004</long>
|
<long name="proxy-Id value">10004</long>
|
||||||
|
@ -825,9 +806,9 @@
|
||||||
<string name="proxy-Implementation filename">""</string>
|
<string name="proxy-Implementation filename">""</string>
|
||||||
<string name="proxy-Header filename">""</string>
|
<string name="proxy-Header filename">""</string>
|
||||||
<string name="proxy-Member variable name">"m_OptViaType"</string>
|
<string name="proxy-Member variable name">"m_OptViaType"</string>
|
||||||
<string name="proxy-Label">"Via Type"</string>
|
<string name="proxy-Label">"Default Via Type"</string>
|
||||||
<long name="proxy-Major dimension count">1</long>
|
<long name="proxy-Major dimension count">1</long>
|
||||||
<string name="proxy-Items">"Blind Via|Buried Via|Standard Via"</string>
|
<string name="proxy-Items">"Through Via|Blind or Buried Via "</string>
|
||||||
<long name="proxy-Initial value">0</long>
|
<long name="proxy-Initial value">0</long>
|
||||||
<string name="proxy-Help text">""</string>
|
<string name="proxy-Help text">""</string>
|
||||||
<string name="proxy-Tooltip text">""</string>
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
@ -870,20 +851,29 @@
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"Spacer"</string>
|
<string name="title">"wxStaticBoxSizer V"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"spacer"</string>
|
<string name="icon-name">"sizer"</string>
|
||||||
<long name="is-transient">0</long>
|
<long name="is-transient">0</long>
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
<string name="proxy-type">"wbStaticBoxSizerProxy"</string>
|
||||||
<long name="proxy-Width">5</long>
|
<string name="proxy-Id name">"wxID_ANY"</string>
|
||||||
<long name="proxy-Height">5</long>
|
<long name="proxy-Id value">-1</long>
|
||||||
|
<string name="proxy-Label">"Micro Vias:"</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Sizer member variable name">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Static box class">"wxStaticBox"</string>
|
||||||
|
<string name="proxy-Orientation">"Vertical"</string>
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
<string name="proxy-AlignH">"Centre"</string>
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
<string name="proxy-AlignV">"Expand"</string>
|
||||||
<long name="proxy-Stretch factor">0</long>
|
<long name="proxy-Stretch factor">0</long>
|
||||||
<long name="proxy-Border">5</long>
|
<long name="proxy-Border">5</long>
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
@ -894,6 +884,403 @@
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"statictext"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
|
<long name="proxy-Id value">5105</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxStaticText"</string>
|
||||||
|
<string name="proxy-Base class">"wxStaticText"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_MicroViaSizeTitle"</string>
|
||||||
|
<string name="proxy-Label">"Micro Via Size"</string>
|
||||||
|
<long name="proxy-Wrapping width">-1</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxALIGN_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxST_NO_AUTORESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">0</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxTextCtrl: ID_TEXTCTRL7"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"textctrl"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
|
<string name="proxy-Id name">"ID_TEXTCTRL7"</string>
|
||||||
|
<long name="proxy-Id value">10008</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxTextCtrl"</string>
|
||||||
|
<string name="proxy-Base class">"wxTextCtrl"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_MicroViaSizeCtrl"</string>
|
||||||
|
<string name="proxy-Initial value">""</string>
|
||||||
|
<long name="proxy-Max length">0</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxTE_MULTILINE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_TAB">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PASSWORD">0</bool>
|
||||||
|
<bool name="proxy-wxTE_READONLY">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH2">0</bool>
|
||||||
|
<bool name="proxy-wxTE_AUTO_URL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_NOHIDESEL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxHSCROLL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CHARWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxTE_WORDWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">0</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"statictext"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
|
<long name="proxy-Id value">5105</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxStaticText"</string>
|
||||||
|
<string name="proxy-Base class">"wxStaticText"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_MicroViaDrillTitle"</string>
|
||||||
|
<string name="proxy-Label">"Micro Via Drill"</string>
|
||||||
|
<long name="proxy-Wrapping width">-1</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxALIGN_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxST_NO_AUTORESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">0</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxTextCtrl: ID_TEXTCTRL6"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"textctrl"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
|
<string name="proxy-Id name">"ID_TEXTCTRL6"</string>
|
||||||
|
<long name="proxy-Id value">10010</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxTextCtrl"</string>
|
||||||
|
<string name="proxy-Base class">"wxTextCtrl"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_MicroViaDrillCtrl"</string>
|
||||||
|
<string name="proxy-Initial value">""</string>
|
||||||
|
<long name="proxy-Max length">0</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxTE_MULTILINE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_TAB">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PASSWORD">0</bool>
|
||||||
|
<bool name="proxy-wxTE_READONLY">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH2">0</bool>
|
||||||
|
<bool name="proxy-wxTE_AUTO_URL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_NOHIDESEL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxHSCROLL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CHARWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxTE_WORDWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">0</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"Spacer"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"spacer"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbSpacerProxy"</string>
|
||||||
|
<long name="proxy-Width">5</long>
|
||||||
|
<long name="proxy-Height">5</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxCheckBox: ID_CHECKBOX_ALLOWS_MICROVIA"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"checkbox"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbCheckBoxProxy"</string>
|
||||||
|
<string name="event-handler-0">"wxEVT_COMMAND_CHECKBOX_CLICKED|OnCheckboxAllowsMicroviaClick|NONE||WinEDA_PcbTracksDialog"</string>
|
||||||
|
<string name="proxy-Id name">"ID_CHECKBOX_ALLOWS_MICROVIA"</string>
|
||||||
|
<long name="proxy-Id value">10009</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxCheckBox"</string>
|
||||||
|
<string name="proxy-Base class">"wxCheckBox"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_AllowMicroViaCtrl"</string>
|
||||||
|
<string name="proxy-Label">"Allows Micro Vias"</string>
|
||||||
|
<bool name="proxy-Initial value">0</bool>
|
||||||
|
<string name="proxy-Help text">"Allows use of micro vias
|
||||||
|
They are very small vias only from an external copper layer to its near neightbour
|
||||||
|
"</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Data variable">"g_DesignSettings.m_MicroViasAllowed"</string>
|
||||||
|
<string name="proxy-Data validator">"wxGenericValidator(& %VARIABLE%)"</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_2STATE">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_3STATE">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_ALLOW_3RD_STATE_FOR_USER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
<string name="title">"wxBoxSizer V"</string>
|
||||||
|
@ -1379,20 +1766,86 @@
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
||||||
</document>
|
</document>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxBoxSizer V"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"sizer"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"11/1/2008"</string>
|
||||||
|
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
||||||
|
<string name="proxy-Orientation">"Vertical"</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-AlignH">"Centre"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"Spacer"</string>
|
<string name="title">"wxButton: wxID_OK"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"spacer"</string>
|
<string name="icon-name">"dialogcontrol"</string>
|
||||||
<long name="is-transient">0</long>
|
<long name="is-transient">0</long>
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"24/4/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
<string name="proxy-type">"wbButtonProxy"</string>
|
||||||
<long name="proxy-Width">5</long>
|
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick"</string>
|
||||||
<long name="proxy-Height">5</long>
|
<string name="proxy-Id name">"wxID_OK"</string>
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
<long name="proxy-Id value">5100</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxButton"</string>
|
||||||
|
<string name="proxy-Base class">"wxButton"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Label">"&OK"</string>
|
||||||
|
<bool name="proxy-Default">0</bool>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">"D20000"</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<bool name="proxy-wxBU_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxBU_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxBU_TOP">0</bool>
|
||||||
|
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
||||||
|
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
<long name="proxy-Stretch factor">0</long>
|
<long name="proxy-Stretch factor">0</long>
|
||||||
<long name="proxy-Border">5</long>
|
<long name="proxy-Border">5</long>
|
||||||
|
@ -1403,22 +1856,63 @@
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
<string name="title">"wxButton: wxID_CANCEL"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"sizer"</string>
|
<string name="icon-name">"dialogcontrol"</string>
|
||||||
<long name="is-transient">0</long>
|
<long name="is-transient">0</long>
|
||||||
<long name="owns-file">1</long>
|
<long name="owns-file">1</long>
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="created">"25/2/2006"</string>
|
<string name="created">"11/1/2008"</string>
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
<string name="proxy-type">"wbButtonProxy"</string>
|
||||||
<string name="proxy-Orientation">"Vertical"</string>
|
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_CANCEL"</string>
|
||||||
|
<long name="proxy-Id value">5101</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxButton"</string>
|
||||||
|
<string name="proxy-Base class">"wxButton"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
<string name="proxy-Member variable name">""</string>
|
<string name="proxy-Member variable name">""</string>
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
<string name="proxy-Label">"&Cancel"</string>
|
||||||
|
<bool name="proxy-Default">0</bool>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">"0000FF"</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<bool name="proxy-wxBU_LEFT">1</bool>
|
||||||
|
<bool name="proxy-wxBU_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxBU_TOP">0</bool>
|
||||||
|
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
||||||
|
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
<long name="proxy-Stretch factor">0</long>
|
<long name="proxy-Stretch factor">0</long>
|
||||||
<long name="proxy-Border">5</long>
|
<long name="proxy-Border">5</long>
|
||||||
|
@ -1429,141 +1923,8 @@
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<document>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
<string name="title">"wxButton: wxID_OK"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogcontrol"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/2/2006"</string>
|
|
||||||
<string name="proxy-type">"wbButtonProxy"</string>
|
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick"</string>
|
|
||||||
<string name="proxy-Id name">"wxID_OK"</string>
|
|
||||||
<long name="proxy-Id value">5100</long>
|
|
||||||
<string name="proxy-Name">""</string>
|
|
||||||
<string name="proxy-Class">"wxButton"</string>
|
|
||||||
<string name="proxy-Base class">"wxButton"</string>
|
|
||||||
<bool name="proxy-External implementation">1</bool>
|
|
||||||
<bool name="proxy-Separate files">0</bool>
|
|
||||||
<string name="proxy-Implementation filename">""</string>
|
|
||||||
<string name="proxy-Header filename">""</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-Label">"&OK"</string>
|
|
||||||
<bool name="proxy-Default">0</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<string name="proxy-Data source">""</string>
|
|
||||||
<string name="proxy-Data class name">""</string>
|
|
||||||
<string name="proxy-Data class implementation filename">""</string>
|
|
||||||
<string name="proxy-Data class header filename">""</string>
|
|
||||||
<string name="proxy-Data class manager window">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">"D20000"</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxBU_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Expand"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxButton: wxID_CANCEL"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogcontrol"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/2/2006"</string>
|
|
||||||
<string name="proxy-type">"wbButtonProxy"</string>
|
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick"</string>
|
|
||||||
<string name="proxy-Id name">"wxID_CANCEL"</string>
|
|
||||||
<long name="proxy-Id value">5101</long>
|
|
||||||
<string name="proxy-Name">""</string>
|
|
||||||
<string name="proxy-Class">"wxButton"</string>
|
|
||||||
<string name="proxy-Base class">"wxButton"</string>
|
|
||||||
<bool name="proxy-External implementation">1</bool>
|
|
||||||
<bool name="proxy-Separate files">0</bool>
|
|
||||||
<string name="proxy-Implementation filename">""</string>
|
|
||||||
<string name="proxy-Header filename">""</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-Label">"&Cancel"</string>
|
|
||||||
<bool name="proxy-Default">0</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<string name="proxy-Data source">""</string>
|
|
||||||
<string name="proxy-Data class name">""</string>
|
|
||||||
<string name="proxy-Data class implementation filename">""</string>
|
|
||||||
<string name="proxy-Data class header filename">""</string>
|
|
||||||
<string name="proxy-Data class manager window">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">"0000FF"</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxBU_LEFT">1</bool>
|
|
||||||
<bool name="proxy-wxBU_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Expand"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
|
|
|
@ -215,8 +215,8 @@ void DRC::testTracks()
|
||||||
if( !doTrackDrc( segm, segm->Next() ) )
|
if( !doTrackDrc( segm, segm->Next() ) )
|
||||||
{
|
{
|
||||||
wxASSERT( m_currentMarker );
|
wxASSERT( m_currentMarker );
|
||||||
m_pcb->Add( m_currentMarker );
|
m_pcb->Add( m_currentMarker );
|
||||||
m_currentMarker = 0;
|
m_currentMarker = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -367,13 +367,25 @@ MARKER* DRC::fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, MARKE
|
||||||
|
|
||||||
|
|
||||||
if( fillMe )
|
if( fillMe )
|
||||||
fillMe->SetData( aErrorCode, position,
|
{
|
||||||
|
if ( aItem )
|
||||||
|
fillMe->SetData( aErrorCode, position,
|
||||||
textA, aTrack->GetPosition(),
|
textA, aTrack->GetPosition(),
|
||||||
textB, posB );
|
textB, posB );
|
||||||
|
else
|
||||||
|
fillMe->SetData( aErrorCode, position,
|
||||||
|
textA, aTrack->GetPosition() );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
fillMe = new MARKER( aErrorCode, position,
|
{
|
||||||
|
if ( aItem )
|
||||||
|
fillMe = new MARKER( aErrorCode, position,
|
||||||
textA, aTrack->GetPosition(),
|
textA, aTrack->GetPosition(),
|
||||||
textB, posB );
|
textB, posB );
|
||||||
|
else
|
||||||
|
fillMe = new MARKER( aErrorCode, position,
|
||||||
|
textA, aTrack->GetPosition() );
|
||||||
|
}
|
||||||
|
|
||||||
return fillMe;
|
return fillMe;
|
||||||
}
|
}
|
||||||
|
@ -421,23 +433,41 @@ bool DRC::doTrackDrc( TRACK* aRefSeg, TRACK* aStart )
|
||||||
m_segmAngle = 0;
|
m_segmAngle = 0;
|
||||||
|
|
||||||
|
|
||||||
// @todo: is this necessary?
|
/* Phase 0 : Test vias : */
|
||||||
/**************************************************************/
|
|
||||||
/* Phase 0 : test if via's hole is bigger than its diameter : */
|
|
||||||
/**************************************************************/
|
|
||||||
|
|
||||||
if( aRefSeg->Type() == TYPEVIA )
|
if( aRefSeg->Type() == TYPEVIA )
|
||||||
{
|
{
|
||||||
|
// test if via's hole is bigger than its diameter
|
||||||
// This test seems necessary since the dialog box that displays the
|
// This test seems necessary since the dialog box that displays the
|
||||||
// desired via hole size and width does not enforce a hole size smaller
|
// desired via hole size and width does not enforce a hole size smaller
|
||||||
// than the via's diameter.
|
// than the via's diameter.
|
||||||
|
|
||||||
if( aRefSeg->m_Drill > aRefSeg->m_Width )
|
if( aRefSeg->GetDrillValue() > aRefSeg->m_Width )
|
||||||
{
|
{
|
||||||
m_currentMarker = fillMarker( aRefSeg, NULL,
|
m_currentMarker = fillMarker( aRefSeg, NULL,
|
||||||
DRCE_VIA_HOLE_BIGGER, m_currentMarker );
|
DRCE_VIA_HOLE_BIGGER, m_currentMarker );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For microvias: test if they are blindvias and only between 2 layers
|
||||||
|
// because they are used for very small drill size and are drill by laser
|
||||||
|
// and **only** one layer can be drilled
|
||||||
|
if( aRefSeg->Shape() == VIA_MICROVIA )
|
||||||
|
{
|
||||||
|
int layer1, layer2;
|
||||||
|
bool err = true;
|
||||||
|
((SEGVIA*)aRefSeg)->ReturnLayerPair(&layer1, &layer2);
|
||||||
|
if (layer1> layer2 ) EXCHG(layer1,layer2);
|
||||||
|
// test:
|
||||||
|
if (layer1 == COPPER_LAYER_N && layer2 == LAYER_N_2 ) err = false;
|
||||||
|
if (layer1 == (g_DesignSettings.m_CopperLayerCount - 2 ) && layer2 == LAYER_CMP_N ) err = false;
|
||||||
|
if ( err )
|
||||||
|
{
|
||||||
|
m_currentMarker = fillMarker( aRefSeg, NULL,
|
||||||
|
DRCE_MICRO_VIA_INCORRECT_LAYER_PAIR, m_currentMarker );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// for a non horizontal or vertical segment Compute the segment angle
|
// for a non horizontal or vertical segment Compute the segment angle
|
||||||
|
|
|
@ -34,28 +34,29 @@
|
||||||
|
|
||||||
|
|
||||||
/// DRC error codes:
|
/// DRC error codes:
|
||||||
#define DRCE_ 1 // not used yet
|
#define DRCE_ 1 // not used yet
|
||||||
#define DRCE_UNCONNECTED_PADS 2 ///< pads are unconnected
|
#define DRCE_UNCONNECTED_PADS 2 ///< pads are unconnected
|
||||||
#define DRCE_TRACK_NEAR_THROUGH_HOLE 3 ///< thru hole is too close to track
|
#define DRCE_TRACK_NEAR_THROUGH_HOLE 3 ///< thru hole is too close to track
|
||||||
#define DRCE_TRACK_NEAR_PAD 4 ///< pad too close to track
|
#define DRCE_TRACK_NEAR_PAD 4 ///< pad too close to track
|
||||||
#define DRCE_TRACK_NEAR_VIA 5 ///< track too close to via
|
#define DRCE_TRACK_NEAR_VIA 5 ///< track too close to via
|
||||||
#define DRCE_VIA_NEAR_VIA 6 ///< via too close to via
|
#define DRCE_VIA_NEAR_VIA 6 ///< via too close to via
|
||||||
#define DRCE_VIA_NEAR_TRACK 7 ///< via too close to track
|
#define DRCE_VIA_NEAR_TRACK 7 ///< via too close to track
|
||||||
#define DRCE_TRACK_ENDS1 8 ///< @todo say what this problem is
|
#define DRCE_TRACK_ENDS1 8 ///< @todo say what this problem is
|
||||||
#define DRCE_TRACK_ENDS2 9 ///< @todo say what this problem is
|
#define DRCE_TRACK_ENDS2 9 ///< @todo say what this problem is
|
||||||
#define DRCE_TRACK_ENDS3 10 ///< @todo say what this problem is
|
#define DRCE_TRACK_ENDS3 10 ///< @todo say what this problem is
|
||||||
#define DRCE_TRACK_ENDS4 11 ///< @todo say what this problem is
|
#define DRCE_TRACK_ENDS4 11 ///< @todo say what this problem is
|
||||||
#define DRCE_TRACK_UNKNOWN1 12 ///< @todo check source code and change this comment
|
#define DRCE_TRACK_UNKNOWN1 12 ///< @todo check source code and change this comment
|
||||||
#define DRCE_TRACKS_CROSSING 13 ///< tracks are crossing
|
#define DRCE_TRACKS_CROSSING 13 ///< tracks are crossing
|
||||||
#define DRCE_ENDS_PROBLEM1 14 ///< track ends are too close
|
#define DRCE_ENDS_PROBLEM1 14 ///< track ends are too close
|
||||||
#define DRCE_ENDS_PROBLEM2 15 ///< track ends are too close
|
#define DRCE_ENDS_PROBLEM2 15 ///< track ends are too close
|
||||||
#define DRCE_ENDS_PROBLEM3 16 ///< track ends are too close
|
#define DRCE_ENDS_PROBLEM3 16 ///< track ends are too close
|
||||||
#define DRCE_ENDS_PROBLEM4 17 ///< track ends are too close
|
#define DRCE_ENDS_PROBLEM4 17 ///< track ends are too close
|
||||||
#define DRCE_ENDS_PROBLEM5 18 ///< track ends are too close
|
#define DRCE_ENDS_PROBLEM5 18 ///< track ends are too close
|
||||||
#define DRCE_PAD_NEAR_PAD1 19 ///< pad too close to pad
|
#define DRCE_PAD_NEAR_PAD1 19 ///< pad too close to pad
|
||||||
#define DRCE_VIA_HOLE_BIGGER 20 ///< via's hole is bigger than its diameter
|
#define DRCE_VIA_HOLE_BIGGER 20 ///< via's hole is bigger than its diameter
|
||||||
#define COPPERAREA_INSIDE_COPPERAREA 21 ///< copper area outlines intersect
|
#define DRCE_MICRO_VIA_INCORRECT_LAYER_PAIR 21 ///< micro via's layer pair incorrect (layers must be adjacent)
|
||||||
#define COPPERAREA_CLOSE_TO_COPPERAREA 22 ///< copper area outlines are too close
|
#define COPPERAREA_INSIDE_COPPERAREA 22 ///< copper area outlines intersect
|
||||||
|
#define COPPERAREA_CLOSE_TO_COPPERAREA 23 ///< copper area outlines are too close
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class DRC_ITEM
|
* Class DRC_ITEM
|
||||||
|
@ -64,48 +65,67 @@
|
||||||
* information held is the board coordinate and the MenuText for each item.
|
* information held is the board coordinate and the MenuText for each item.
|
||||||
* Also held is the type of error by number and the location of the MARKER.
|
* Also held is the type of error by number and the location of the MARKER.
|
||||||
* A function is provided to translate that number into text.
|
* A function is provided to translate that number into text.
|
||||||
|
* Some errors involve only one item (item with an incorrect param) so m_AsSecondItem is set to false in this case
|
||||||
*/
|
*/
|
||||||
class DRC_ITEM
|
class DRC_ITEM
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_ErrorCode; ///< the error code's numeric value
|
int m_ErrorCode; ///< the error code's numeric value
|
||||||
wxPoint m_Pos; ///< position of the issue
|
wxPoint m_Pos; ///< position of the issue
|
||||||
wxString m_AText; ///< text for the first BOARD_ITEM
|
wxString m_AText; ///< text for the first BOARD_ITEM
|
||||||
wxString m_BText; ///< text for the second BOARD_ITEM
|
wxString m_BText; ///< text for the second BOARD_ITEM
|
||||||
wxPoint m_APos; ///< the location of the first BOARD_ITEM
|
wxPoint m_APos; ///< the location of the first (or main ) BOARD_ITEM
|
||||||
wxPoint m_BPos; ///< the location of the first BOARD_ITEM
|
wxPoint m_BPos; ///< the location of the second BOARD_ITEM
|
||||||
|
bool m_AsSecondItem; ///< true when 2 items create a DRC error, false if only one item
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
DRC_ITEM() :
|
DRC_ITEM() :
|
||||||
m_ErrorCode(0)
|
m_ErrorCode( 0 )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DRC_ITEM( int aErrorCode, const wxPoint& aIssuePos,
|
|
||||||
const wxString& aText, const wxString& bText,
|
DRC_ITEM( int aErrorCode, const wxPoint& aIssuePos,
|
||||||
const wxPoint& aPos, const wxPoint& bPos )
|
const wxString& aText, const wxString& bText,
|
||||||
|
const wxPoint& aPos, const wxPoint& bPos )
|
||||||
{
|
{
|
||||||
SetData( aErrorCode, aIssuePos,
|
SetData( aErrorCode, aIssuePos,
|
||||||
aText, bText,
|
aText, bText,
|
||||||
aPos, bPos );
|
aPos, bPos );
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetData( int aErrorCode, const wxPoint& aIssuePos,
|
DRC_ITEM( int aErrorCode, const wxPoint& aIssuePos,
|
||||||
const wxString& aText, const wxString& bText,
|
const wxString& aText, const wxPoint& aPos )
|
||||||
const wxPoint& aPos, const wxPoint& bPos )
|
{
|
||||||
|
SetData( aErrorCode, aIssuePos, aText, aPos );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SetData( int aErrorCode, const wxPoint& aIssuePos,
|
||||||
|
const wxString& aText, const wxPoint& aPos )
|
||||||
|
{
|
||||||
|
SetData( aErrorCode, aIssuePos,
|
||||||
|
aText, aText,
|
||||||
|
aPos, aPos );
|
||||||
|
m_AsSecondItem = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetData( int aErrorCode, const wxPoint& aIssuePos,
|
||||||
|
const wxString& aText, const wxString& bText,
|
||||||
|
const wxPoint& aPos, const wxPoint& bPos )
|
||||||
{
|
{
|
||||||
m_ErrorCode = aErrorCode;
|
m_ErrorCode = aErrorCode;
|
||||||
m_Pos = aIssuePos;
|
m_Pos = aIssuePos;
|
||||||
m_AText = aText;
|
m_AText = aText;
|
||||||
m_BText = bText;
|
m_BText = bText;
|
||||||
m_APos = aPos;
|
m_APos = aPos;
|
||||||
m_BPos = bPos;
|
m_BPos = bPos;
|
||||||
|
m_AsSecondItem = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AsSecondItem(void) const { return m_AsSecondItem; }
|
||||||
/**
|
/**
|
||||||
* Function ShowHtml
|
* Function ShowHtml
|
||||||
* translates this object into a fragment of HTML suitable for the
|
* translates this object into a fragment of HTML suitable for the
|
||||||
|
@ -118,16 +138,16 @@ public:
|
||||||
|
|
||||||
// an html fragment for the entire message in the listbox. feel free
|
// an html fragment for the entire message in the listbox. feel free
|
||||||
// to add color if you want:
|
// to add color if you want:
|
||||||
ret.Printf( _("ErrType(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>"),
|
ret.Printf( _( "ErrType(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>" ),
|
||||||
m_ErrorCode,
|
m_ErrorCode,
|
||||||
GetErrorText().GetData(),
|
GetErrorText().GetData(),
|
||||||
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
|
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
|
||||||
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
|
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ShowReport
|
* Function ShowReport
|
||||||
* translates this object into a text string suitable for saving
|
* translates this object into a text string suitable for saving
|
||||||
|
@ -138,15 +158,16 @@ public:
|
||||||
{
|
{
|
||||||
wxString ret;
|
wxString ret;
|
||||||
|
|
||||||
ret.Printf( wxT("ErrType(%d): %s\n %s: %s\n %s: %s\n"),
|
ret.Printf( wxT( "ErrType(%d): %s\n %s: %s\n %s: %s\n" ),
|
||||||
m_ErrorCode,
|
m_ErrorCode,
|
||||||
GetErrorText().GetData(),
|
GetErrorText().GetData(),
|
||||||
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
|
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
|
||||||
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
|
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetErrorCode
|
* Function GetErrorCode
|
||||||
* returns the error code.
|
* returns the error code.
|
||||||
|
@ -156,7 +177,7 @@ public:
|
||||||
return m_ErrorCode;
|
return m_ErrorCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetErrorText
|
* Function GetErrorText
|
||||||
* returns the string form of a drc error code.
|
* returns the string form of a drc error code.
|
||||||
|
@ -167,33 +188,37 @@ public:
|
||||||
{
|
{
|
||||||
return m_AText;
|
return m_AText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const wxString& GetTextB() const
|
const wxString& GetTextB() const
|
||||||
{
|
{
|
||||||
return m_BText;
|
return m_BText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const wxPoint& GetPointA() const
|
const wxPoint& GetPointA() const
|
||||||
{
|
{
|
||||||
return m_APos;
|
return m_APos;
|
||||||
}
|
}
|
||||||
|
|
||||||
const wxPoint& GetPointB() const
|
|
||||||
|
const wxPoint& GetPointB() const
|
||||||
{
|
{
|
||||||
return m_BPos;
|
return m_BPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetPosition
|
* Function GetPosition
|
||||||
* @return wxPoint& - the position of this report item within
|
* @return wxPoint& - the position of this report item within
|
||||||
* the drawing.
|
* the drawing.
|
||||||
*/
|
*/
|
||||||
const wxPoint& GetPosition() const
|
const wxPoint& GetPosition() const
|
||||||
{
|
{
|
||||||
return m_Pos;
|
return m_Pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ShowCoord
|
* Function ShowCoord
|
||||||
* formats a coordinate or position to text.
|
* formats a coordinate or position to text.
|
||||||
|
@ -225,7 +250,7 @@ public:
|
||||||
* removes and deletes all the items in the list.
|
* removes and deletes all the items in the list.
|
||||||
*/
|
*/
|
||||||
virtual void DeleteAllItems() = 0;
|
virtual void DeleteAllItems() = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetItem
|
* Function GetItem
|
||||||
* retrieves a DRC_ITEM by pointer. The actual item remains owned by the
|
* retrieves a DRC_ITEM by pointer. The actual item remains owned by the
|
||||||
|
@ -233,12 +258,12 @@ public:
|
||||||
* @param aIndex The 0 based index into the list of the desired item.
|
* @param aIndex The 0 based index into the list of the desired item.
|
||||||
* @return const DRC_ITEM* - the desired item or NULL if aIndex is out of range.
|
* @return const DRC_ITEM* - the desired item or NULL if aIndex is out of range.
|
||||||
*/
|
*/
|
||||||
virtual const DRC_ITEM* GetItem( int aIndex ) = 0;
|
virtual const DRC_ITEM* GetItem( int aIndex ) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function DeleteAllItems
|
* Function DeleteAllItems
|
||||||
* removes and deletes desired item from the list.
|
* removes and deletes desired item from the list.
|
||||||
* @param aIndex The 0 based index into the list of the desired item which
|
* @param aIndex The 0 based index into the list of the desired item which
|
||||||
* is to be deleted.
|
* is to be deleted.
|
||||||
*/
|
*/
|
||||||
virtual void DeleteItem( int aIndex ) = 0;
|
virtual void DeleteItem( int aIndex ) = 0;
|
||||||
|
@ -247,13 +272,13 @@ public:
|
||||||
* Function GetCount
|
* Function GetCount
|
||||||
* returns the number of items in the list.
|
* returns the number of items in the list.
|
||||||
*/
|
*/
|
||||||
virtual int GetCount() = 0;
|
virtual int GetCount() = 0;
|
||||||
|
|
||||||
virtual ~DRC_ITEM_LIST() {}
|
virtual ~DRC_ITEM_LIST() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef std::vector<DRC_ITEM*> DRC_LIST;
|
typedef std::vector<DRC_ITEM*> DRC_LIST;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -264,88 +289,89 @@ typedef std::vector<DRC_ITEM*> DRC_LIST;
|
||||||
* be sent to a text file on disk.
|
* be sent to a text file on disk.
|
||||||
* This class is given access to the windows and the BOARD
|
* This class is given access to the windows and the BOARD
|
||||||
* that it needs via its constructor or public access functions.
|
* that it needs via its constructor or public access functions.
|
||||||
*/
|
*/
|
||||||
class DRC
|
class DRC
|
||||||
{
|
{
|
||||||
friend class DrcDialog;
|
friend class DrcDialog;
|
||||||
|
|
||||||
private:
|
|
||||||
// protected or private functions() are lowercase first character.
|
|
||||||
|
|
||||||
bool m_doPad2PadTest;
|
|
||||||
bool m_doUnconnectedTest;
|
|
||||||
bool m_doZonesTest;
|
|
||||||
bool m_doCreateRptFile;
|
|
||||||
|
|
||||||
wxString m_rptFilename;
|
|
||||||
|
|
||||||
// int m_errorCount;
|
|
||||||
|
|
||||||
MARKER* m_currentMarker;
|
|
||||||
|
|
||||||
bool m_aboartDRC;
|
|
||||||
bool m_drcInProgress;
|
|
||||||
int m_spotcx;
|
|
||||||
int m_spotcy;
|
|
||||||
int m_finx;
|
|
||||||
int m_finy; // coord relatives de l'extremite du segm de reference
|
|
||||||
|
|
||||||
int m_segmAngle; // angle d'inclinaison du segment de reference en 0,1 degre
|
|
||||||
int m_segmLength; // length of the reference segment
|
|
||||||
|
|
||||||
int m_xcliplo;
|
|
||||||
int m_ycliplo;
|
|
||||||
int m_xcliphi;
|
|
||||||
int m_ycliphi; // coord de la surface de securite du segment a comparer
|
|
||||||
|
|
||||||
WinEDA_PcbFrame* m_mainWindow;
|
|
||||||
WinEDA_DrawPanel* m_drawPanel;
|
|
||||||
BOARD* m_pcb;
|
|
||||||
DrcDialog* m_ui;
|
|
||||||
|
|
||||||
DRC_LIST m_unconnected; ///< list of unconnected pads, as DRC_ITEMs
|
private:
|
||||||
|
|
||||||
|
// protected or private functions() are lowercase first character.
|
||||||
/**
|
|
||||||
|
bool m_doPad2PadTest;
|
||||||
|
bool m_doUnconnectedTest;
|
||||||
|
bool m_doZonesTest;
|
||||||
|
bool m_doCreateRptFile;
|
||||||
|
|
||||||
|
wxString m_rptFilename;
|
||||||
|
|
||||||
|
// int m_errorCount;
|
||||||
|
|
||||||
|
MARKER* m_currentMarker;
|
||||||
|
|
||||||
|
bool m_aboartDRC;
|
||||||
|
bool m_drcInProgress;
|
||||||
|
int m_spotcx;
|
||||||
|
int m_spotcy;
|
||||||
|
int m_finx;
|
||||||
|
int m_finy; // coord relatives de l'extremite du segm de reference
|
||||||
|
|
||||||
|
int m_segmAngle; // angle d'inclinaison du segment de reference en 0,1 degre
|
||||||
|
int m_segmLength; // length of the reference segment
|
||||||
|
|
||||||
|
int m_xcliplo;
|
||||||
|
int m_ycliplo;
|
||||||
|
int m_xcliphi;
|
||||||
|
int m_ycliphi; // coord de la surface de securite du segment a comparer
|
||||||
|
|
||||||
|
WinEDA_PcbFrame* m_mainWindow;
|
||||||
|
WinEDA_DrawPanel* m_drawPanel;
|
||||||
|
BOARD* m_pcb;
|
||||||
|
DrcDialog* m_ui;
|
||||||
|
|
||||||
|
DRC_LIST m_unconnected; ///< list of unconnected pads, as DRC_ITEMs
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
* Function updatePointers
|
* Function updatePointers
|
||||||
* is a private helper function used to update needed pointers from the
|
* is a private helper function used to update needed pointers from the
|
||||||
* one pointer which is known not to change, m_mainWindow.
|
* one pointer which is known not to change, m_mainWindow.
|
||||||
*/
|
*/
|
||||||
void updatePointers();
|
void updatePointers();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function fillMarker
|
* Function fillMarker
|
||||||
* optionally creates a marker and fills it in with information,
|
* optionally creates a marker and fills it in with information,
|
||||||
* but does not add it to the BOARD. Use this to report any kind of
|
* but does not add it to the BOARD. Use this to report any kind of
|
||||||
* DRC problem, or unconnected pad problem.
|
* DRC problem, or unconnected pad problem.
|
||||||
*
|
*
|
||||||
* @param aTrack The reference track
|
* @param aTrack The reference track
|
||||||
* @param aItem Another item on the BOARD, such as a SEGVIA, SEGZONE,
|
* @param aItem Another item on the BOARD, such as a SEGVIA, SEGZONE,
|
||||||
* or TRACK.
|
* or TRACK.
|
||||||
* @param aErrorCode A categorizing identifier for the particular type
|
* @param aErrorCode A categorizing identifier for the particular type
|
||||||
* of error that is being reported.
|
* of error that is being reported.
|
||||||
* @param fillMe A MARKER* which is to be filled in, or NULL if one is to
|
* @param fillMe A MARKER* which is to be filled in, or NULL if one is to
|
||||||
* first be allocated, then filled.
|
* first be allocated, then filled.
|
||||||
*/
|
*/
|
||||||
MARKER* fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, MARKER* fillMe );
|
MARKER* fillMarker( TRACK* aTrack, BOARD_ITEM* aItem, int aErrorCode, MARKER* fillMe );
|
||||||
|
|
||||||
MARKER* fillMarker( D_PAD* aPad, D_PAD* bPad, int aErrorCode, MARKER* fillMe );
|
MARKER* fillMarker( D_PAD* aPad, D_PAD* bPad, int aErrorCode, MARKER* fillMe );
|
||||||
|
|
||||||
|
|
||||||
//-----<categorical group tests>-----------------------------------------
|
|
||||||
|
|
||||||
void testTracks();
|
|
||||||
|
|
||||||
void testPad2Pad();
|
|
||||||
|
|
||||||
void testUnconnected();
|
//-----<categorical group tests>-----------------------------------------
|
||||||
|
|
||||||
void testZones();
|
void testTracks();
|
||||||
|
|
||||||
|
void testPad2Pad();
|
||||||
|
|
||||||
|
void testUnconnected();
|
||||||
|
|
||||||
|
void testZones();
|
||||||
|
|
||||||
|
|
||||||
|
//-----<single "item" tests>-----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
//-----<single "item" tests>-----------------------------------------
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function doPadToPadsDrc
|
* Function doPadToPadsDrc
|
||||||
* tests the clearance between aRefPad and other pads.
|
* tests the clearance between aRefPad and other pads.
|
||||||
|
@ -355,18 +381,18 @@ private:
|
||||||
* @param aEnd Marks the end of the list and is not included
|
* @param aEnd Marks the end of the list and is not included
|
||||||
* @param max_size The size of the biggest pad (used to stop the test when the X distance is > max_size)
|
* @param max_size The size of the biggest pad (used to stop the test when the X distance is > max_size)
|
||||||
*/
|
*/
|
||||||
bool doPadToPadsDrc( D_PAD* aRefPad, LISTE_PAD* aStart,
|
bool doPadToPadsDrc( D_PAD* aRefPad, LISTE_PAD* aStart,
|
||||||
LISTE_PAD* aEnd, int max_size );
|
LISTE_PAD* aEnd, int max_size );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function DoTrackDrc
|
* Function DoTrackDrc
|
||||||
* tests the current segment.
|
* tests the current segment.
|
||||||
* @param aRefSeg The segment to test
|
* @param aRefSeg The segment to test
|
||||||
* @param aStart The head of a list of tracks to test against (usually BOARD::m_Track)
|
* @param aStart The head of a list of tracks to test against (usually BOARD::m_Track)
|
||||||
* @return bool - true if no poblems, else false and m_currentMarker is
|
* @return bool - true if no poblems, else false and m_currentMarker is
|
||||||
* filled in with the problem information.
|
* filled in with the problem information.
|
||||||
*/
|
*/
|
||||||
bool doTrackDrc( TRACK* aRefSeg, TRACK* aStart );
|
bool doTrackDrc( TRACK* aRefSeg, TRACK* aStart );
|
||||||
|
|
||||||
|
|
||||||
//-----<single tests>----------------------------------------------
|
//-----<single tests>----------------------------------------------
|
||||||
|
@ -377,9 +403,9 @@ private:
|
||||||
* @param aPad Another pad to check against
|
* @param aPad Another pad to check against
|
||||||
* @return bool - true if clearance between aRefPad and pad is >= dist_min, else false
|
* @return bool - true if clearance between aRefPad and pad is >= dist_min, else false
|
||||||
*/
|
*/
|
||||||
bool checkClearancePadToPad( D_PAD* aRefPad, D_PAD* aPad, const int dist_min );
|
bool checkClearancePadToPad( D_PAD* aRefPad, D_PAD* aPad, const int dist_min );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function checkClearanceSegmToPad
|
* Function checkClearanceSegmToPad
|
||||||
* check the distance from a pad to segment. This function uses several
|
* check the distance from a pad to segment. This function uses several
|
||||||
|
@ -390,30 +416,30 @@ private:
|
||||||
* spot_cX, spot_cY = position of pad / origin of segment
|
* spot_cX, spot_cY = position of pad / origin of segment
|
||||||
* @param pad_to_test Is the pad involved in the check
|
* @param pad_to_test Is the pad involved in the check
|
||||||
* @param w_segm Hhalf width of the segment to test
|
* @param w_segm Hhalf width of the segment to test
|
||||||
* @param dist_min Is the minimum clearance needed
|
* @param dist_min Is the minimum clearance needed
|
||||||
*
|
*
|
||||||
* @return false distance >= dist_min,
|
* @return false distance >= dist_min,
|
||||||
* true if distance < dist_min
|
* true if distance < dist_min
|
||||||
*/
|
*/
|
||||||
bool checkClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dist_min );
|
bool checkClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dist_min );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function checkMarginToCircle
|
* Function checkMarginToCircle
|
||||||
* @todo this translation is no good, fix this:
|
* @todo this translation is no good, fix this:
|
||||||
* calculates the distance from a circle (via or round end of track) to the
|
* calculates the distance from a circle (via or round end of track) to the
|
||||||
* segment of reference on the right hand side.
|
* segment of reference on the right hand side.
|
||||||
*
|
*
|
||||||
* @param cx The x coordinate of the circle's center
|
* @param cx The x coordinate of the circle's center
|
||||||
* @param cy The y coordinate of the circle's center
|
* @param cy The y coordinate of the circle's center
|
||||||
* @param radius A "keep out" radius centered over the circle
|
* @param radius A "keep out" radius centered over the circle
|
||||||
* @param length The length of the segment (i.e. coordinate of end)
|
* @param length The length of the segment (i.e. coordinate of end)
|
||||||
* @return bool - true if distance >= radius, else
|
* @return bool - true if distance >= radius, else
|
||||||
* false when distance < radius
|
* false when distance < radius
|
||||||
*/
|
*/
|
||||||
static bool checkMarginToCircle( int cx, int cy, int radius, int length );
|
static bool checkMarginToCircle( int cx, int cy, int radius, int length );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function checkLine
|
* Function checkLine
|
||||||
* tests to see if one track is in contact with another track.
|
* tests to see if one track is in contact with another track.
|
||||||
|
@ -422,15 +448,15 @@ private:
|
||||||
* dans le cadre (xcliplo,ycliplo xcliphi,ycliphi) (variables globales,
|
* dans le cadre (xcliplo,ycliplo xcliphi,ycliphi) (variables globales,
|
||||||
* locales a ce fichier)
|
* locales a ce fichier)
|
||||||
*/
|
*/
|
||||||
bool checkLine( int x1, int y1, int x2, int y2 );
|
bool checkLine( int x1, int y1, int x2, int y2 );
|
||||||
|
|
||||||
//-----</single tests>---------------------------------------------
|
//-----</single tests>---------------------------------------------
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DRC( WinEDA_PcbFrame* aPcbWindow );
|
DRC( WinEDA_PcbFrame* aPcbWindow );
|
||||||
|
|
||||||
~DRC();
|
~DRC();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Drc
|
* Function Drc
|
||||||
* tests the current segment and returns the result and displays the error
|
* tests the current segment and returns the result and displays the error
|
||||||
|
@ -441,10 +467,10 @@ public:
|
||||||
*/
|
*/
|
||||||
int Drc( TRACK* aRefSeg, TRACK* aList );
|
int Drc( TRACK* aRefSeg, TRACK* aList );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function DrcBlind
|
* Function DrcBlind
|
||||||
* tests the current segment and returns the result. Any error is not
|
* tests the current segment and returns the result. Any error is not
|
||||||
* displayed in the status panel.
|
* displayed in the status panel.
|
||||||
* @param aRefSeg The current segment to test.
|
* @param aRefSeg The current segment to test.
|
||||||
* @param aList The track list to test (usually m_Pcb->m_Track)
|
* @param aList The track list to test (usually m_Pcb->m_Track)
|
||||||
|
@ -453,18 +479,18 @@ public:
|
||||||
int DrcBlind( TRACK* aRefSeg, TRACK* aList )
|
int DrcBlind( TRACK* aRefSeg, TRACK* aList )
|
||||||
{
|
{
|
||||||
updatePointers();
|
updatePointers();
|
||||||
|
|
||||||
return doTrackDrc( aRefSeg, aList ) ? OK_DRC : BAD_DRC;
|
return doTrackDrc( aRefSeg, aList ) ? OK_DRC : BAD_DRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ShowDialog
|
* Function ShowDialog
|
||||||
* opens a dialog and prompts the user, then if a test run button is
|
* opens a dialog and prompts the user, then if a test run button is
|
||||||
* clicked, runs the test(s) and creates the MARKERS. The dialog is only
|
* clicked, runs the test(s) and creates the MARKERS. The dialog is only
|
||||||
* created if it is not already in existence.
|
* created if it is not already in existence.
|
||||||
*/
|
*/
|
||||||
void ShowDialog();
|
void ShowDialog();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -473,9 +499,9 @@ public:
|
||||||
* the state of the dialog's existence.
|
* the state of the dialog's existence.
|
||||||
* @param aReason Indication of which button was clicked to cause the destruction.
|
* @param aReason Indication of which button was clicked to cause the destruction.
|
||||||
*/
|
*/
|
||||||
void DestroyDialog( int aReason );
|
void DestroyDialog( int aReason );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function SetSettings
|
* Function SetSettings
|
||||||
* saves all the UI or test settings and may be called before running the tests.
|
* saves all the UI or test settings and may be called before running the tests.
|
||||||
|
@ -483,38 +509,36 @@ public:
|
||||||
* @param aUnconnectedTest Tells whether to list unconnected pads.
|
* @param aUnconnectedTest Tells whether to list unconnected pads.
|
||||||
* @param aZonesTest Tells whether to test zones.
|
* @param aZonesTest Tells whether to test zones.
|
||||||
* @param aReportName A string telling the disk file report name entered.
|
* @param aReportName A string telling the disk file report name entered.
|
||||||
* @param aSaveReport A boolean telling whether to generate disk file report.
|
* @param aSaveReport A boolean telling whether to generate disk file report.
|
||||||
*/
|
*/
|
||||||
void SetSettings( bool aPad2PadTest, bool aUnconnectedTest,
|
void SetSettings( bool aPad2PadTest, bool aUnconnectedTest,
|
||||||
bool aZonesTest, const wxString& aReportName, bool aSaveReport )
|
bool aZonesTest, const wxString& aReportName, bool aSaveReport )
|
||||||
{
|
{
|
||||||
m_doPad2PadTest = aPad2PadTest;
|
m_doPad2PadTest = aPad2PadTest;
|
||||||
m_doUnconnectedTest = aUnconnectedTest;
|
m_doUnconnectedTest = aUnconnectedTest;
|
||||||
m_doZonesTest = aZonesTest;
|
m_doZonesTest = aZonesTest;
|
||||||
m_rptFilename = aReportName;
|
m_rptFilename = aReportName;
|
||||||
m_doCreateRptFile = aSaveReport;
|
m_doCreateRptFile = aSaveReport;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function RunTests
|
* Function RunTests
|
||||||
* will actually run all the tests specified with a previous call to
|
* will actually run all the tests specified with a previous call to
|
||||||
* SetSettings()
|
* SetSettings()
|
||||||
*/
|
*/
|
||||||
void RunTests();
|
void RunTests();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ListUnconnectedPad
|
* Function ListUnconnectedPad
|
||||||
* gathers a list of all the unconnected pads and shows them in the
|
* gathers a list of all the unconnected pads and shows them in the
|
||||||
* dialog, and optionally prints a report of such.
|
* dialog, and optionally prints a report of such.
|
||||||
*/
|
*/
|
||||||
void ListUnconnectedPads();
|
void ListUnconnectedPads();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _DRC_STUFF_H
|
#endif // _DRC_STUFF_H
|
||||||
|
|
||||||
//EOF
|
//EOF
|
||||||
|
|
|
@ -61,6 +61,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
case ID_POPUP_PCB_STOP_CURRENT_DRAWING:
|
case ID_POPUP_PCB_STOP_CURRENT_DRAWING:
|
||||||
case ID_POPUP_PCB_END_TRACK:
|
case ID_POPUP_PCB_END_TRACK:
|
||||||
case ID_POPUP_PCB_PLACE_VIA:
|
case ID_POPUP_PCB_PLACE_VIA:
|
||||||
|
case ID_POPUP_PCB_PLACE_MICROVIA:
|
||||||
case ID_POPUP_PCB_IMPORT_PAD_SETTINGS:
|
case ID_POPUP_PCB_IMPORT_PAD_SETTINGS:
|
||||||
case ID_POPUP_PCB_EXPORT_PAD_SETTINGS:
|
case ID_POPUP_PCB_EXPORT_PAD_SETTINGS:
|
||||||
case ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS:
|
case ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS:
|
||||||
|
@ -372,6 +373,9 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_PLACE_MICROVIA:
|
||||||
|
if ( ! GetScreen()->IsMicroViaAcceptable() )
|
||||||
|
break;
|
||||||
case ID_POPUP_PCB_PLACE_VIA:
|
case ID_POPUP_PCB_PLACE_VIA:
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
if( GetCurItem()->m_Flags & IS_DRAGGED )
|
if( GetCurItem()->m_Flags & IS_DRAGGED )
|
||||||
|
@ -380,13 +384,17 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
int v_type = g_DesignSettings.m_CurrentViaType;
|
||||||
|
if ( id == ID_POPUP_PCB_PLACE_MICROVIA )
|
||||||
|
g_DesignSettings.m_CurrentViaType = VIA_MICROVIA; // place micro via and switch layer
|
||||||
Other_Layer_Route( (TRACK*) GetCurItem(), &dc );
|
Other_Layer_Route( (TRACK*) GetCurItem(), &dc );
|
||||||
|
g_DesignSettings.m_CurrentViaType = v_type;
|
||||||
if( DisplayOpt.ContrastModeDisplay )
|
if( DisplayOpt.ContrastModeDisplay )
|
||||||
GetScreen()->SetRefreshReq();
|
GetScreen()->SetRefreshReq();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_DELETE_TRACKSEG:
|
case ID_POPUP_PCB_DELETE_TRACKSEG:
|
||||||
if( GetCurItem() == NULL )
|
if( GetCurItem() == NULL )
|
||||||
break;
|
break;
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
|
|
|
@ -34,6 +34,8 @@ int WinEDA_PcbFrame::Edit_TrackSegm_Width( wxDC* DC, TRACK* pt_segm )
|
||||||
if( pt_segm->Type() == TYPEVIA )
|
if( pt_segm->Type() == TYPEVIA )
|
||||||
{
|
{
|
||||||
consigne = pt_segm->m_Width = g_DesignSettings.m_CurrentViaSize;
|
consigne = pt_segm->m_Width = g_DesignSettings.m_CurrentViaSize;
|
||||||
|
if ( pt_segm->m_Shape == VIA_MICROVIA )
|
||||||
|
consigne = pt_segm->m_Width = g_DesignSettings.m_CurrentMicroViaSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( old_w < consigne ) /* DRC utile puisque augm de dimension */
|
if( old_w < consigne ) /* DRC utile puisque augm de dimension */
|
||||||
|
|
|
@ -210,11 +210,10 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* track, wxDC* DC )
|
||||||
/* create the via */
|
/* create the via */
|
||||||
Via = new SEGVIA( m_Pcb );
|
Via = new SEGVIA( m_Pcb );
|
||||||
Via->m_Flags = IS_NEW;
|
Via->m_Flags = IS_NEW;
|
||||||
Via->m_Width = g_DesignSettings.m_CurrentViaSize;
|
|
||||||
Via->m_Shape = g_DesignSettings.m_CurrentViaType;
|
Via->m_Shape = g_DesignSettings.m_CurrentViaType;
|
||||||
|
Via->m_Width = g_DesignSettings.m_CurrentViaSize;
|
||||||
Via->SetNet( g_HightLigth_NetCode );
|
Via->SetNet( g_HightLigth_NetCode );
|
||||||
Via->m_Start = Via->m_End = g_CurrentTrackSegment->m_End;
|
Via->m_Start = Via->m_End = g_CurrentTrackSegment->m_End;
|
||||||
|
|
||||||
int old_layer = GetScreen()->m_Active_Layer;
|
int old_layer = GetScreen()->m_Active_Layer;
|
||||||
|
|
||||||
//swap the layers.
|
//swap the layers.
|
||||||
|
@ -224,21 +223,30 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* track, wxDC* DC )
|
||||||
GetScreen()->m_Active_Layer = GetScreen()->m_Route_Layer_BOTTOM;
|
GetScreen()->m_Active_Layer = GetScreen()->m_Route_Layer_BOTTOM;
|
||||||
|
|
||||||
/* Adjust the via layer pair */
|
/* Adjust the via layer pair */
|
||||||
if( Via->Shape() == VIA_BURIED )
|
switch ( Via->Shape() )
|
||||||
{
|
{
|
||||||
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
case VIA_BLIND_BURIED:
|
||||||
}
|
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIA_MICROVIA: // from external to the near neghbour inner layer
|
||||||
|
if ( old_layer == COPPER_LAYER_N )
|
||||||
|
GetScreen()->m_Active_Layer = LAYER_N_2;
|
||||||
|
else if ( old_layer == LAYER_CMP_N )
|
||||||
|
GetScreen()->m_Active_Layer = m_Pcb->m_BoardSettings->m_CopperLayerCount - 2;
|
||||||
|
else if ( old_layer == LAYER_N_2 )
|
||||||
|
GetScreen()->m_Active_Layer = COPPER_LAYER_N;
|
||||||
|
else if ( old_layer == m_Pcb->m_BoardSettings->m_CopperLayerCount - 2 )
|
||||||
|
GetScreen()->m_Active_Layer = LAYER_CMP_N;
|
||||||
|
// else error
|
||||||
|
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
||||||
|
Via->m_Width = g_DesignSettings.m_CurrentMicroViaSize;
|
||||||
|
break;
|
||||||
|
|
||||||
else if( Via->Shape() == VIA_BLIND ) //blind via
|
default:
|
||||||
{
|
// Usual via is from copper to component; layer pair is 0 and 0x0F.
|
||||||
// A revoir! ( la via devrait deboucher sur 1 cote )
|
Via->SetLayerPair( COPPER_LAYER_N, LAYER_CMP_N );
|
||||||
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Usual via is from copper to component; layer pair is 0 and 0x0F.
|
|
||||||
Via->SetLayerPair( COPPER_LAYER_N, LAYER_CMP_N );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Drc_On && BAD_DRC==m_drc->Drc( Via, m_Pcb->m_Track ) )
|
if( Drc_On && BAD_DRC==m_drc->Drc( Via, m_Pcb->m_Track ) )
|
||||||
|
|
|
@ -469,7 +469,7 @@ void WinEDA_DrillFrame::UpdatePrecisionOptions( wxCommandEvent& event )
|
||||||
int WinEDA_DrillFrame::Gen_Drill_File_EXCELLON( FORET* buffer )
|
int WinEDA_DrillFrame::Gen_Drill_File_EXCELLON( FORET* buffer )
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
|
||||||
/* Create the drill file in EXECELLON format
|
/* Create the drill file in EXCELLON format
|
||||||
* Return hole count
|
* Return hole count
|
||||||
* buffer: Drill tools list
|
* buffer: Drill tools list
|
||||||
*/
|
*/
|
||||||
|
@ -497,10 +497,10 @@ int WinEDA_DrillFrame::Gen_Drill_File_EXCELLON( FORET* buffer )
|
||||||
{
|
{
|
||||||
if( pt_piste->Type() != TYPEVIA )
|
if( pt_piste->Type() != TYPEVIA )
|
||||||
continue;
|
continue;
|
||||||
if( pt_piste->m_Drill == 0 )
|
int via_drill = pt_piste->GetDrillValue();
|
||||||
|
if( via_drill == 0 )
|
||||||
continue;
|
continue;
|
||||||
int via_drill = ( pt_piste->m_Drill <
|
|
||||||
0 ) ? g_DesignSettings.m_ViaDrill : pt_piste->m_Drill;
|
|
||||||
if( foret->m_Diameter != via_drill )
|
if( foret->m_Diameter != via_drill )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -789,11 +789,9 @@ int WinEDA_DrillFrame::Gen_Liste_Forets( FORET* buffer, bool print_header )
|
||||||
{
|
{
|
||||||
if( pt_piste->Type() != TYPEVIA )
|
if( pt_piste->Type() != TYPEVIA )
|
||||||
continue;
|
continue;
|
||||||
if( pt_piste->m_Drill == 0 )
|
int via_drill = pt_piste->GetDrillValue();
|
||||||
|
if( via_drill == 0 )
|
||||||
continue;
|
continue;
|
||||||
int via_drill = g_DesignSettings.m_ViaDrill;
|
|
||||||
if( pt_piste->m_Drill > 0 ) // Drill value is not the default value
|
|
||||||
via_drill = pt_piste->m_Drill;
|
|
||||||
foret = GetOrAddForet( buffer, via_drill );
|
foret = GetOrAddForet( buffer, via_drill );
|
||||||
if( foret )
|
if( foret )
|
||||||
foret->m_TotalCount++;
|
foret->m_TotalCount++;
|
||||||
|
@ -1343,9 +1341,7 @@ int WinEDA_DrillFrame::Plot_Drill_PcbMap( FORET* buffer, int format )
|
||||||
{
|
{
|
||||||
if( pt_piste->Type() != TYPEVIA )
|
if( pt_piste->Type() != TYPEVIA )
|
||||||
continue;
|
continue;
|
||||||
int via_drill = g_DesignSettings.m_ViaDrill;
|
int via_drill = pt_piste->GetDrillValue();
|
||||||
if( pt_piste->m_Drill >= 0 )
|
|
||||||
via_drill = pt_piste->m_Drill;
|
|
||||||
if( via_drill != foret->m_Diameter )
|
if( via_drill != foret->m_Diameter )
|
||||||
continue;
|
continue;
|
||||||
pos = pt_piste->m_Start;
|
pos = pt_piste->m_Start;
|
||||||
|
|
|
@ -69,7 +69,8 @@ static Ki_HotkeyInfo HkSavefile( wxT( "Save board" ), HK_SAVE_BOARD, 'S' + GR_KB
|
||||||
static Ki_HotkeyInfo HkLoadfile( wxT( "Load board" ), HK_LOAD_BOARD, 'L' + GR_KB_CTRL );
|
static Ki_HotkeyInfo HkLoadfile( wxT( "Load board" ), HK_LOAD_BOARD, 'L' + GR_KB_CTRL );
|
||||||
static Ki_HotkeyInfo HkFindItem( wxT( "Find Item" ), HK_FIND_ITEM, 'F' + GR_KB_CTRL );
|
static Ki_HotkeyInfo HkFindItem( wxT( "Find Item" ), HK_FIND_ITEM, 'F' + GR_KB_CTRL );
|
||||||
static Ki_HotkeyInfo HkBackspace( wxT( "Delete track segment" ), HK_BACK_SPACE, WXK_BACK );
|
static Ki_HotkeyInfo HkBackspace( wxT( "Delete track segment" ), HK_BACK_SPACE, WXK_BACK );
|
||||||
static Ki_HotkeyInfo HkAddVia( wxT( "Add Via" ), HK_ADD_VIA, 'V' );
|
static Ki_HotkeyInfo HkAddMicroVia( wxT( "Add Via" ), HK_ADD_VIA, 'V' );
|
||||||
|
static Ki_HotkeyInfo HkAddVia( wxT( "Add MicroVia" ), HK_ADD_MICROVIA, 'V' + GR_KB_CTRL );
|
||||||
static Ki_HotkeyInfo HkEndTrack( wxT( "End Track" ), HK_END_TRACK, WXK_END );
|
static Ki_HotkeyInfo HkEndTrack( wxT( "End Track" ), HK_END_TRACK, WXK_END );
|
||||||
static Ki_HotkeyInfo HkFlipFootprint( wxT( "Flip Footprint" ), HK_FLIP_FOOTPRINT, 'F' );
|
static Ki_HotkeyInfo HkFlipFootprint( wxT( "Flip Footprint" ), HK_FLIP_FOOTPRINT, 'F' );
|
||||||
static Ki_HotkeyInfo HkRotateFootprint( wxT( "Rotate Footprint" ), HK_ROTATE_FOOTPRINT, 'R' );
|
static Ki_HotkeyInfo HkRotateFootprint( wxT( "Rotate Footprint" ), HK_ROTATE_FOOTPRINT, 'R' );
|
||||||
|
@ -105,7 +106,9 @@ Ki_HotkeyInfo* s_Common_Hotkey_List[] = {
|
||||||
Ki_HotkeyInfo* s_board_edit_Hotkey_List[] = {
|
Ki_HotkeyInfo* s_board_edit_Hotkey_List[] = {
|
||||||
&HkTrackDisplayMode,
|
&HkTrackDisplayMode,
|
||||||
&HkDelete, &HkBackspace,
|
&HkDelete, &HkBackspace,
|
||||||
&HkAddVia, &HkEndTrack,
|
&HkAddVia,
|
||||||
|
&HkAddMicroVia,
|
||||||
|
&HkEndTrack,
|
||||||
&HkMoveFootprint, &HkFlipFootprint,
|
&HkMoveFootprint, &HkFlipFootprint,
|
||||||
&HkRotateFootprint, &HkDragFootprint,
|
&HkRotateFootprint, &HkDragFootprint,
|
||||||
&HkGetAndMoveFootprint,
|
&HkGetAndMoveFootprint,
|
||||||
|
@ -382,6 +385,28 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case HK_ADD_MICROVIA: // Place a micro via if a track is in progress
|
||||||
|
if( m_ID_current_state != ID_TRACK_BUTT )
|
||||||
|
return;
|
||||||
|
if( ItemFree ) // no track in progress: nothing to do
|
||||||
|
break;
|
||||||
|
if( GetCurItem()->Type() != TYPETRACK ) // Should not occur
|
||||||
|
return;
|
||||||
|
if( (GetCurItem()->m_Flags & IS_NEW) == 0 )
|
||||||
|
return;
|
||||||
|
|
||||||
|
// place micro via and switch layer
|
||||||
|
if ( GetScreen()->IsMicroViaAcceptable() )
|
||||||
|
{
|
||||||
|
int v_type = g_DesignSettings.m_CurrentViaType;
|
||||||
|
g_DesignSettings.m_CurrentViaType = VIA_MICROVIA;
|
||||||
|
Other_Layer_Route( (TRACK*) GetCurItem(), DC );
|
||||||
|
g_DesignSettings.m_CurrentViaType = v_type;
|
||||||
|
if( DisplayOpt.ContrastModeDisplay )
|
||||||
|
GetScreen()->SetRefreshReq();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case HK_ADD_VIA: // Switch to alternate layer and Place a via if a track is in progress
|
case HK_ADD_VIA: // Switch to alternate layer and Place a via if a track is in progress
|
||||||
if( m_ID_current_state != ID_TRACK_BUTT )
|
if( m_ID_current_state != ID_TRACK_BUTT )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -22,7 +22,9 @@ enum hotkey_id_commnand {
|
||||||
HK_FLIP_FOOTPRINT,
|
HK_FLIP_FOOTPRINT,
|
||||||
HK_GET_AND_MOVE_FOOTPRINT,
|
HK_GET_AND_MOVE_FOOTPRINT,
|
||||||
HK_LOCK_UNLOCK_FOOTPRINT,
|
HK_LOCK_UNLOCK_FOOTPRINT,
|
||||||
HK_ADD_VIA, HK_END_TRACK,
|
HK_ADD_VIA,
|
||||||
|
HK_ADD_MICROVIA,
|
||||||
|
HK_END_TRACK,
|
||||||
HK_SAVE_BOARD, HK_LOAD_BOARD,
|
HK_SAVE_BOARD, HK_LOAD_BOARD,
|
||||||
HK_SWITCH_UNITS,
|
HK_SWITCH_UNITS,
|
||||||
HK_SWITCH_TRACK_DISPLAY_MODE,
|
HK_SWITCH_TRACK_DISPLAY_MODE,
|
||||||
|
|
|
@ -88,7 +88,7 @@ int WinEDA_BasePcbFrame::ReadListeSegmentDescr( FILE* File,
|
||||||
* @return items count or - count if no end block ($End...) found.
|
* @return items count or - count if no end block ($End...) found.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
int shape, width, layer, type, flags, net_code;
|
int shape, width, drill, layer, type, flags, net_code;
|
||||||
int ii = 0;
|
int ii = 0;
|
||||||
char line1[256];
|
char line1[256];
|
||||||
char line2[256];
|
char line2[256];
|
||||||
|
@ -149,13 +149,15 @@ int WinEDA_BasePcbFrame::ReadListeSegmentDescr( FILE* File,
|
||||||
int arg_count = sscanf( line1 + 2, " %d %d %d %d %d %d %d", &shape,
|
int arg_count = sscanf( line1 + 2, " %d %d %d %d %d %d %d", &shape,
|
||||||
&PtSegm->m_Start.x, &PtSegm->m_Start.y,
|
&PtSegm->m_Start.x, &PtSegm->m_Start.y,
|
||||||
&PtSegm->m_End.x, &PtSegm->m_End.y, &width,
|
&PtSegm->m_End.x, &PtSegm->m_End.y, &width,
|
||||||
&PtSegm->m_Drill );
|
&drill );
|
||||||
|
|
||||||
PtSegm->m_Width = width;
|
PtSegm->m_Width = width;
|
||||||
PtSegm->m_Shape = shape;
|
PtSegm->m_Shape = shape;
|
||||||
|
|
||||||
if( arg_count < 7 )
|
if( arg_count < 7 || drill <= 0 )
|
||||||
PtSegm->m_Drill = -1;
|
PtSegm->SetDrillDefault();
|
||||||
|
else
|
||||||
|
PtSegm->SetDrillValue(drill);
|
||||||
|
|
||||||
PtSegm->SetLayer( layer );
|
PtSegm->SetLayer( layer );
|
||||||
PtSegm->SetNet( net_code );
|
PtSegm->SetNet( net_code );
|
||||||
|
@ -399,6 +401,12 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( stricmp( Line, "MicroViaSize" ) == 0 )
|
||||||
|
{
|
||||||
|
g_DesignSettings.m_CurrentMicroViaSize = atoi( data );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if( stricmp( Line, "ViaSizeHistory" ) == 0 )
|
if( stricmp( Line, "ViaSizeHistory" ) == 0 )
|
||||||
{
|
{
|
||||||
int tmp = atoi( data );
|
int tmp = atoi( data );
|
||||||
|
@ -412,6 +420,18 @@ int WinEDA_BasePcbFrame::ReadSetup( FILE* File, int* LineNum )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( stricmp( Line, "MicroViaDrill" ) == 0 )
|
||||||
|
{
|
||||||
|
g_DesignSettings.m_MicroViaDrill = atoi( data );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( stricmp( Line, "MicroViasAllowed" ) == 0 )
|
||||||
|
{
|
||||||
|
g_DesignSettings.m_MicroViasAllowed = atoi( data );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if( stricmp( Line, "TextPcbWidth" ) == 0 )
|
if( stricmp( Line, "TextPcbWidth" ) == 0 )
|
||||||
{
|
{
|
||||||
g_DesignSettings.m_PcbTextWidth = atoi( data );
|
g_DesignSettings.m_PcbTextWidth = atoi( data );
|
||||||
|
@ -521,6 +541,10 @@ static int WriteSetup( FILE* File, WinEDA_BasePcbFrame* frame )
|
||||||
fprintf( File, "ViaSizeHistory %d\n", g_DesignSettings.m_ViaSizeHistory[ii] );
|
fprintf( File, "ViaSizeHistory %d\n", g_DesignSettings.m_ViaSizeHistory[ii] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fprintf( File, "MicroViaSize %d\n", g_DesignSettings.m_CurrentMicroViaSize);
|
||||||
|
fprintf( File, "MicroViaDrill %d\n", g_DesignSettings.m_MicroViaDrill);
|
||||||
|
fprintf( File, "MicroViasAllowed %d\n", g_DesignSettings.m_MicroViasAllowed);
|
||||||
|
|
||||||
fprintf( File, "TextPcbWidth %d\n", g_DesignSettings.m_PcbTextWidth );
|
fprintf( File, "TextPcbWidth %d\n", g_DesignSettings.m_PcbTextWidth );
|
||||||
fprintf( File, "TextPcbSize %d %d\n",
|
fprintf( File, "TextPcbSize %d %d\n",
|
||||||
g_DesignSettings.m_PcbTextSize.x, g_DesignSettings.m_PcbTextSize.y );
|
g_DesignSettings.m_PcbTextSize.x, g_DesignSettings.m_PcbTextSize.y );
|
||||||
|
|
|
@ -515,7 +515,7 @@ void WinEDA_PcbFrame::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
|
||||||
_( "Export via hole to others id vias" ), global_options_pad_xpm );
|
_( "Export via hole to others id vias" ), global_options_pad_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT,
|
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT,
|
||||||
_( "Set ALL via holes to default" ), apply_xpm );
|
_( "Set ALL via holes to default" ), apply_xpm );
|
||||||
if( Track->m_Drill <= 0 )
|
if( ! Track->IsDrillDefault() )
|
||||||
{
|
{
|
||||||
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_EXPORT, FALSE );
|
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_EXPORT, FALSE );
|
||||||
}
|
}
|
||||||
|
@ -559,6 +559,12 @@ void WinEDA_PcbFrame::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
|
||||||
}
|
}
|
||||||
msg = AddHotkeyName( _( "Place Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_VIA );
|
msg = AddHotkeyName( _( "Place Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_VIA );
|
||||||
PopMenu->Append( ID_POPUP_PCB_PLACE_VIA, msg );
|
PopMenu->Append( ID_POPUP_PCB_PLACE_VIA, msg );
|
||||||
|
// See if we can place a Micro Via (4 or more layers, and start from an external layer):
|
||||||
|
if ( GetScreen()->IsMicroViaAcceptable() )
|
||||||
|
{
|
||||||
|
msg = AddHotkeyName( _( "Place Micro Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_MICROVIA );
|
||||||
|
PopMenu->Append( ID_POPUP_PCB_PLACE_MICROVIA, msg );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// track Width control :
|
// track Width control :
|
||||||
|
|
245
pcbnew/pcbcfg.h
245
pcbnew/pcbcfg.h
|
@ -20,21 +20,21 @@ static int Pcbdiv_grille; /* memorisation temporaire */
|
||||||
static PARAM_CFG_WXSTRING UserLibDirBufCfg
|
static PARAM_CFG_WXSTRING UserLibDirBufCfg
|
||||||
(
|
(
|
||||||
wxT( "LibDir" ), /* Keyword */
|
wxT( "LibDir" ), /* Keyword */
|
||||||
& g_UserLibDirBuffer, /* Parameter address */
|
&g_UserLibDirBuffer, /* Parameter address */
|
||||||
GROUPLIB
|
GROUPLIB
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_LIBNAME_LIST LibNameBufCfg
|
static PARAM_CFG_LIBNAME_LIST LibNameBufCfg
|
||||||
(
|
(
|
||||||
wxT( "LibName" ), /* Keyword */
|
wxT( "LibName" ), /* Keyword */
|
||||||
& g_LibName_List, /* Parameter address */
|
&g_LibName_List, /* Parameter address */
|
||||||
GROUPLIB
|
GROUPLIB
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT PadDrillCfg
|
static PARAM_CFG_INT PadDrillCfg
|
||||||
(
|
(
|
||||||
wxT( "PadDrlX" ), /* Keyword */
|
wxT( "PadDrlX" ), /* Keyword */
|
||||||
& g_Pad_Master.m_Drill.x, /* Parameter address */
|
&g_Pad_Master.m_Drill.x, /* Parameter address */
|
||||||
320, /* Default value */
|
320, /* Default value */
|
||||||
0, 0x7FFF /* Valeurs extremes */
|
0, 0x7FFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -42,7 +42,7 @@ static PARAM_CFG_INT PadDrillCfg
|
||||||
static PARAM_CFG_INT PadDimHCfg //Pad Diameter / H Size
|
static PARAM_CFG_INT PadDimHCfg //Pad Diameter / H Size
|
||||||
(
|
(
|
||||||
wxT( "PadDimH" ), /* Keyword */
|
wxT( "PadDimH" ), /* Keyword */
|
||||||
& g_Pad_Master.m_Size.x, /* Parameter address */
|
&g_Pad_Master.m_Size.x, /* Parameter address */
|
||||||
550, /* Default value */
|
550, /* Default value */
|
||||||
0, 0x7FFF /* Valeurs extremes */
|
0, 0x7FFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -50,7 +50,7 @@ static PARAM_CFG_INT PadDimHCfg //Pad Diameter / H Size
|
||||||
static PARAM_CFG_INT PadDimVCfg
|
static PARAM_CFG_INT PadDimVCfg
|
||||||
(
|
(
|
||||||
wxT( "PadDimV" ), /* Keyword */
|
wxT( "PadDimV" ), /* Keyword */
|
||||||
& g_Pad_Master.m_Size.y, /* Parameter address */
|
&g_Pad_Master.m_Size.y, /* Parameter address */
|
||||||
550, /* Default value */
|
550, /* Default value */
|
||||||
0, 0x7FFF /* Valeurs extremes */
|
0, 0x7FFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -59,7 +59,7 @@ static PARAM_CFG_INT PadDimVCfg
|
||||||
static PARAM_CFG_INT PadFormeCfg
|
static PARAM_CFG_INT PadFormeCfg
|
||||||
(
|
(
|
||||||
wxT( "PadForm" ), /* Keyword */
|
wxT( "PadForm" ), /* Keyword */
|
||||||
& g_Pad_Master.m_PadShape, /* Parameter address */
|
&g_Pad_Master.m_PadShape, /* Parameter address */
|
||||||
PAD_CIRCLE, /* Default value */
|
PAD_CIRCLE, /* Default value */
|
||||||
0, 0x7F /* Valeurs extremes */
|
0, 0x7F /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -67,14 +67,14 @@ static PARAM_CFG_INT PadFormeCfg
|
||||||
static PARAM_CFG_INT PadMasqueLayerCfg
|
static PARAM_CFG_INT PadMasqueLayerCfg
|
||||||
(
|
(
|
||||||
wxT( "PadMask" ), /* Keyword */
|
wxT( "PadMask" ), /* Keyword */
|
||||||
& g_Pad_Master.m_Masque_Layer, /* Parameter address */
|
&g_Pad_Master.m_Masque_Layer, /* Parameter address */
|
||||||
0x0000FFFF /* Default value */
|
0x0000FFFF /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT ViaDiametreCfg
|
static PARAM_CFG_INT ViaDiametreCfg
|
||||||
(
|
(
|
||||||
wxT( "ViaDiam" ), /* Keyword */
|
wxT( "ViaDiam" ), /* Keyword */
|
||||||
& g_DesignSettings.m_CurrentViaSize, /* Parameter address */
|
&g_DesignSettings.m_CurrentViaSize, /* Parameter address */
|
||||||
450, /* Default value */
|
450, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -82,15 +82,32 @@ static PARAM_CFG_INT ViaDiametreCfg
|
||||||
static PARAM_CFG_INT ViaDrillCfg
|
static PARAM_CFG_INT ViaDrillCfg
|
||||||
(
|
(
|
||||||
wxT( "ViaDril" ), /* Keyword */
|
wxT( "ViaDril" ), /* Keyword */
|
||||||
& g_DesignSettings.m_ViaDrill, /* Parameter address */
|
&g_DesignSettings.m_ViaDrill, /* Parameter address */
|
||||||
250, /* Default value */
|
250, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static PARAM_CFG_INT MicroViaDiametreCfg
|
||||||
|
(
|
||||||
|
wxT( "MViaDia" ), /* Keyword */
|
||||||
|
&g_DesignSettings.m_CurrentMicroViaSize, /* Parameter address */
|
||||||
|
200, /* Default value */
|
||||||
|
0, 1000 /* Valeurs extremes */
|
||||||
|
);
|
||||||
|
|
||||||
|
static PARAM_CFG_INT MicroViaDrillCfg
|
||||||
|
(
|
||||||
|
wxT( "MViaDrl" ), /* Keyword */
|
||||||
|
&g_DesignSettings.m_MicroViaDrill, /* Parameter address */
|
||||||
|
80, /* Default value */
|
||||||
|
0, 800 /* Valeurs extremes */
|
||||||
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT ViaShowHoleCfg
|
static PARAM_CFG_INT ViaShowHoleCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ViaSHole" ), /* Keyword */
|
wxT( "ViaSHole" ), /* Keyword */
|
||||||
& DisplayOpt.m_DisplayViaMode, /* Parameter address */
|
&DisplayOpt.m_DisplayViaMode, /* Parameter address */
|
||||||
VIA_SPECIAL_HOLE_SHOW, /* Default value */
|
VIA_SPECIAL_HOLE_SHOW, /* Default value */
|
||||||
VIA_HOLE_NOT_SHOW, /* Valeurs extremes */
|
VIA_HOLE_NOT_SHOW, /* Valeurs extremes */
|
||||||
OPT_VIA_HOLE_END - 1 /* Valeurs extremes */
|
OPT_VIA_HOLE_END - 1 /* Valeurs extremes */
|
||||||
|
@ -99,7 +116,7 @@ static PARAM_CFG_INT ViaShowHoleCfg
|
||||||
static PARAM_CFG_INT TrackClearenceCfg
|
static PARAM_CFG_INT TrackClearenceCfg
|
||||||
(
|
(
|
||||||
wxT( "Isol" ), /* Keyword */
|
wxT( "Isol" ), /* Keyword */
|
||||||
& g_DesignSettings.m_TrackClearence, /* Parameter address */
|
&g_DesignSettings.m_TrackClearence, /* Parameter address */
|
||||||
120, /* Default value */
|
120, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -107,15 +124,15 @@ static PARAM_CFG_INT TrackClearenceCfg
|
||||||
static PARAM_CFG_INT LayerCountCfg // Mask Working Layers
|
static PARAM_CFG_INT LayerCountCfg // Mask Working Layers
|
||||||
(
|
(
|
||||||
wxT( "Countlayer" ), /* Keyword */
|
wxT( "Countlayer" ), /* Keyword */
|
||||||
& g_DesignSettings.m_CopperLayerCount, /* Parameter address */
|
&g_DesignSettings.m_CopperLayerCount, /* Parameter address */
|
||||||
2, /* Default value */
|
2, /* Default value */
|
||||||
1, NB_COPPER_LAYERS /* Valeurs extremes */
|
1, NB_COPPER_LAYERS /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT TrackWidthCfg
|
static PARAM_CFG_INT TrackWidthCfg
|
||||||
(
|
(
|
||||||
wxT( "Lpiste" ), /* Keyword */
|
wxT( "Lpiste" ), /* Keyword */
|
||||||
& g_DesignSettings.m_CurrentTrackWidth, /* Parameter address */
|
&g_DesignSettings.m_CurrentTrackWidth, /* Parameter address */
|
||||||
170, /* Default value */
|
170, /* Default value */
|
||||||
2, 0xFFFF /* Valeurs extremes */
|
2, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -123,7 +140,7 @@ static PARAM_CFG_INT TrackWidthCfg
|
||||||
static PARAM_CFG_INT RouteLayTopCfg // First current working layer
|
static PARAM_CFG_INT RouteLayTopCfg // First current working layer
|
||||||
(
|
(
|
||||||
wxT( "RouteTo" ), /* Keyword */
|
wxT( "RouteTo" ), /* Keyword */
|
||||||
& Route_Layer_TOP, /* Parameter address */
|
&Route_Layer_TOP, /* Parameter address */
|
||||||
15, /* Default value */
|
15, /* Default value */
|
||||||
0, 15 /* Valeurs extremes */
|
0, 15 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -131,7 +148,7 @@ static PARAM_CFG_INT RouteLayTopCfg // First current working layer
|
||||||
static PARAM_CFG_INT RouteLayBotCfg // second current working layer
|
static PARAM_CFG_INT RouteLayBotCfg // second current working layer
|
||||||
(
|
(
|
||||||
wxT( "RouteBo" ), /* Keyword */
|
wxT( "RouteBo" ), /* Keyword */
|
||||||
& Route_Layer_BOTTOM, /* Parameter address */
|
&Route_Layer_BOTTOM, /* Parameter address */
|
||||||
0, /* Default value */
|
0, /* Default value */
|
||||||
0, 15 /* Valeurs extremes */
|
0, 15 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -139,7 +156,7 @@ static PARAM_CFG_INT RouteLayBotCfg // second current working layer
|
||||||
static PARAM_CFG_INT TypeViaCfg
|
static PARAM_CFG_INT TypeViaCfg
|
||||||
(
|
(
|
||||||
wxT( "TypeVia" ), /* Keyword */
|
wxT( "TypeVia" ), /* Keyword */
|
||||||
& g_DesignSettings.m_CurrentViaType, /* Parameter address */
|
&g_DesignSettings.m_CurrentViaType, /* Parameter address */
|
||||||
VIA_THROUGH, /* Default value */
|
VIA_THROUGH, /* Default value */
|
||||||
0, 3 /* Valeurs extremes */
|
0, 3 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -147,70 +164,70 @@ static PARAM_CFG_INT TypeViaCfg
|
||||||
static PARAM_CFG_BOOL Segm45Cfg // Segm Pistes a 0, 45, 90 degres uniquement
|
static PARAM_CFG_BOOL Segm45Cfg // Segm Pistes a 0, 45, 90 degres uniquement
|
||||||
(
|
(
|
||||||
wxT( "Segm45" ), /* Keyword */
|
wxT( "Segm45" ), /* Keyword */
|
||||||
& Track_45_Only, /* Parameter address */
|
&Track_45_Only, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL Raccord45Cfg // Generation automatique des Raccords a 45 degres
|
static PARAM_CFG_BOOL Raccord45Cfg // Generation automatique des Raccords a 45 degres
|
||||||
(
|
(
|
||||||
wxT( "Racc45" ), /* Keyword */
|
wxT( "Racc45" ), /* Keyword */
|
||||||
& g_Raccord_45_Auto, /* Parameter address */
|
&g_Raccord_45_Auto, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT UnitCfg // Units: 0 inch, 1 mm
|
static PARAM_CFG_INT UnitCfg // Units: 0 inch, 1 mm
|
||||||
(
|
(
|
||||||
wxT( "Unite" ), /* Keyword */
|
wxT( "Unite" ), /* Keyword */
|
||||||
& g_UnitMetric, /* Parameter address */
|
&g_UnitMetric, /* Parameter address */
|
||||||
FALSE /* Default value */
|
FALSE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL SegmFillCfg
|
static PARAM_CFG_BOOL SegmFillCfg
|
||||||
(
|
(
|
||||||
wxT( "SegFill" ), /* Keyword */
|
wxT( "SegFill" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayPcbTrackFill, /* Parameter address */
|
&DisplayOpt.DisplayPcbTrackFill, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL NewTrackAfficheGardeCfg
|
static PARAM_CFG_BOOL NewTrackAfficheGardeCfg
|
||||||
(
|
(
|
||||||
wxT( "NewAffG" ), /* Keyword */
|
wxT( "NewAffG" ), /* Keyword */
|
||||||
& g_ShowIsolDuringCreateTrack, /* Parameter address */
|
&g_ShowIsolDuringCreateTrack, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL TrackAfficheGardeCfg
|
static PARAM_CFG_BOOL TrackAfficheGardeCfg
|
||||||
(
|
(
|
||||||
wxT( "SegAffG" ), /* Keyword */
|
wxT( "SegAffG" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayTrackIsol, /* Parameter address */
|
&DisplayOpt.DisplayTrackIsol, /* Parameter address */
|
||||||
FALSE /* Default value */
|
FALSE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL PadFillCfg
|
static PARAM_CFG_BOOL PadFillCfg
|
||||||
(
|
(
|
||||||
wxT( "PadFill" ), /* Keyword */
|
wxT( "PadFill" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayPadFill, /* Parameter address */
|
&DisplayOpt.DisplayPadFill, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL PadAfficheGardeCfg
|
static PARAM_CFG_BOOL PadAfficheGardeCfg
|
||||||
(
|
(
|
||||||
wxT( "PadAffG" ), /* Keyword */
|
wxT( "PadAffG" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayPadIsol, /* Parameter address */
|
&DisplayOpt.DisplayPadIsol, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL PadShowNumCfg
|
static PARAM_CFG_BOOL PadShowNumCfg
|
||||||
(
|
(
|
||||||
wxT( "PadSNum" ), /* Keyword */
|
wxT( "PadSNum" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayPadNum, /* Parameter address */
|
&DisplayOpt.DisplayPadNum, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT AfficheContourModuleCfg // Module Edges: fill/line/sketch
|
static PARAM_CFG_INT AfficheContourModuleCfg // Module Edges: fill/line/sketch
|
||||||
(
|
(
|
||||||
wxT( "ModAffC" ), /* Keyword */
|
wxT( "ModAffC" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayModEdge, /* Parameter address */
|
&DisplayOpt.DisplayModEdge, /* Parameter address */
|
||||||
FILAIRE, /* Default value */
|
FILAIRE, /* Default value */
|
||||||
0, 2 /* Valeurs extremes */
|
0, 2 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -218,7 +235,7 @@ static PARAM_CFG_INT AfficheContourModuleCfg // Module Edges: fill/line/sketc
|
||||||
static PARAM_CFG_INT AfficheTexteModuleCfg // Module Texts: fill/line/sketch
|
static PARAM_CFG_INT AfficheTexteModuleCfg // Module Texts: fill/line/sketch
|
||||||
(
|
(
|
||||||
wxT( "ModAffT" ), /* Keyword */
|
wxT( "ModAffT" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayModText, /* Parameter address */
|
&DisplayOpt.DisplayModText, /* Parameter address */
|
||||||
FILAIRE, /* Default value */
|
FILAIRE, /* Default value */
|
||||||
0, 2 /* Valeurs extremes */
|
0, 2 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -226,7 +243,7 @@ static PARAM_CFG_INT AfficheTexteModuleCfg // Module Texts: fill/line/sketch
|
||||||
static PARAM_CFG_INT AfficheTextePcbCfg // PCB Texts: fill/line/sketch
|
static PARAM_CFG_INT AfficheTextePcbCfg // PCB Texts: fill/line/sketch
|
||||||
(
|
(
|
||||||
wxT( "PcbAffT" ), /* Keyword */
|
wxT( "PcbAffT" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayDrawItems, /* Parameter address */
|
&DisplayOpt.DisplayDrawItems, /* Parameter address */
|
||||||
FILAIRE, /* Default value */
|
FILAIRE, /* Default value */
|
||||||
0, 2 /* Valeurs extremes */
|
0, 2 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -234,14 +251,14 @@ static PARAM_CFG_INT AfficheTextePcbCfg // PCB Texts: fill/line/sketch
|
||||||
static PARAM_CFG_BOOL SegmPcb45Cfg // Force 45 degrees for segments
|
static PARAM_CFG_BOOL SegmPcb45Cfg // Force 45 degrees for segments
|
||||||
(
|
(
|
||||||
wxT( "SgPcb45" ), /* Keyword */
|
wxT( "SgPcb45" ), /* Keyword */
|
||||||
& Segments_45_Only, /* Parameter address */
|
&Segments_45_Only, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT TextePcbDimVCfg
|
static PARAM_CFG_INT TextePcbDimVCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtPcbV" ), /* Keyword */
|
wxT( "TxtPcbV" ), /* Keyword */
|
||||||
& g_DesignSettings.m_PcbTextSize.y, /* Parameter address */
|
&g_DesignSettings.m_PcbTextSize.y, /* Parameter address */
|
||||||
600, /* Default value */
|
600, /* Default value */
|
||||||
10, 2000 /* Valeurs extremes */
|
10, 2000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -249,7 +266,7 @@ static PARAM_CFG_INT TextePcbDimVCfg
|
||||||
static PARAM_CFG_INT TextePcbDimHCfg
|
static PARAM_CFG_INT TextePcbDimHCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtPcbH" ), /* Keyword */
|
wxT( "TxtPcbH" ), /* Keyword */
|
||||||
& g_DesignSettings.m_PcbTextSize.x, /* Parameter address */
|
&g_DesignSettings.m_PcbTextSize.x, /* Parameter address */
|
||||||
600, /* Default value */
|
600, /* Default value */
|
||||||
10, 2000 /* Valeurs extremes */
|
10, 2000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -258,7 +275,7 @@ static PARAM_CFG_SETCOLOR ColorLayer0Cfg // CU Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay0" ), /* Keyword */
|
wxT( "ColLay0" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[0], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[0], /* Parameter address */
|
||||||
GREEN /* Default value */
|
GREEN /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -266,7 +283,7 @@ static PARAM_CFG_SETCOLOR ColorLayer1Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay1" ), /* Keyword */
|
wxT( "ColLay1" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[1], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[1], /* Parameter address */
|
||||||
BLUE /* Default value */
|
BLUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -274,7 +291,7 @@ static PARAM_CFG_SETCOLOR ColorLayer2Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay2" ), /* Keyword */
|
wxT( "ColLay2" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[2], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[2], /* Parameter address */
|
||||||
LIGHTGRAY /* Default value */
|
LIGHTGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -282,7 +299,7 @@ static PARAM_CFG_SETCOLOR ColorLayer3Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay3" ), /* Keyword */
|
wxT( "ColLay3" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[3], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[3], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -290,7 +307,7 @@ static PARAM_CFG_SETCOLOR ColorLayer4Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay4" ), /* Keyword */
|
wxT( "ColLay4" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[4], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[4], /* Parameter address */
|
||||||
4 /* Default value */
|
4 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -298,7 +315,7 @@ static PARAM_CFG_SETCOLOR ColorLayer5Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay5" ), /* Keyword */
|
wxT( "ColLay5" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[5], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[5], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -306,7 +323,7 @@ static PARAM_CFG_SETCOLOR ColorLayer6Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay6" ), /* Keyword */
|
wxT( "ColLay6" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[6], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[6], /* Parameter address */
|
||||||
6 /* Default value */
|
6 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -314,7 +331,7 @@ static PARAM_CFG_SETCOLOR ColorLayer7Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay7" ), /* Keyword */
|
wxT( "ColLay7" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[7], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[7], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -322,7 +339,7 @@ static PARAM_CFG_SETCOLOR ColorLayer8Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay8" ), /* Keyword */
|
wxT( "ColLay8" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[8], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[8], /* Parameter address */
|
||||||
7 /* Default value */
|
7 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -330,7 +347,7 @@ static PARAM_CFG_SETCOLOR ColorLayer9Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLay9" ), /* Keyword */
|
wxT( "ColLay9" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[9], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[9], /* Parameter address */
|
||||||
1 /* Default value */
|
1 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -338,7 +355,7 @@ static PARAM_CFG_SETCOLOR ColorLayer10Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayA" ), /* Keyword */
|
wxT( "ColLayA" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[10], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[10], /* Parameter address */
|
||||||
2 /* Default value */
|
2 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -346,7 +363,7 @@ static PARAM_CFG_SETCOLOR ColorLayer11Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayB" ), /* Keyword */
|
wxT( "ColLayB" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[11], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[11], /* Parameter address */
|
||||||
3 /* Default value */
|
3 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -354,7 +371,7 @@ static PARAM_CFG_SETCOLOR ColorLayer12Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayC" ), /* Keyword */
|
wxT( "ColLayC" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[12], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[12], /* Parameter address */
|
||||||
12 /* Default value */
|
12 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -362,7 +379,7 @@ static PARAM_CFG_SETCOLOR ColorLayer13Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayD" ), /* Keyword */
|
wxT( "ColLayD" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[13], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[13], /* Parameter address */
|
||||||
13 /* Default value */
|
13 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -370,7 +387,7 @@ static PARAM_CFG_SETCOLOR ColorLayer14Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayE" ), /* Keyword */
|
wxT( "ColLayE" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[14], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[14], /* Parameter address */
|
||||||
14 /* Default value */
|
14 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -378,7 +395,7 @@ static PARAM_CFG_SETCOLOR ColorLayer15Cfg // CMP Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayF" ), /* Keyword */
|
wxT( "ColLayF" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[15], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[15], /* Parameter address */
|
||||||
RED /* Default value */
|
RED /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -386,7 +403,7 @@ static PARAM_CFG_SETCOLOR ColorLayer16Cfg // Adhesive CU Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayG" ), /* Keyword */
|
wxT( "ColLayG" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[16], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[16], /* Parameter address */
|
||||||
1 /* Default value */
|
1 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -394,7 +411,7 @@ static PARAM_CFG_SETCOLOR ColorLayer17Cfg // Adhesive CMP Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayH" ), /* Keyword */
|
wxT( "ColLayH" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[17], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[17], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -402,7 +419,7 @@ static PARAM_CFG_SETCOLOR ColorLayer18Cfg // Solder Mask CU Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayI" ), /* Keyword */
|
wxT( "ColLayI" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[18], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[18], /* Parameter address */
|
||||||
11 /* Default value */
|
11 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -410,7 +427,7 @@ static PARAM_CFG_SETCOLOR ColorLayer19Cfg // Solder Mask CMP Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayJ" ), /* Keyword */
|
wxT( "ColLayJ" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[19], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[19], /* Parameter address */
|
||||||
4 /* Default value */
|
4 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -418,7 +435,7 @@ static PARAM_CFG_SETCOLOR ColorLayer20Cfg // Silk Screen CU Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayK" ), /* Keyword */
|
wxT( "ColLayK" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[20], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[20], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -426,7 +443,7 @@ static PARAM_CFG_SETCOLOR ColorLayer21Cfg // Silk Screen CMP Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayL" ), /* Keyword */
|
wxT( "ColLayL" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[21], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[21], /* Parameter address */
|
||||||
3 /* Default value */
|
3 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -434,7 +451,7 @@ static PARAM_CFG_SETCOLOR ColorLayer22Cfg // Mask CU Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayM" ), /* Keyword */
|
wxT( "ColLayM" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[22], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[22], /* Parameter address */
|
||||||
6 /* Default value */
|
6 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -442,7 +459,7 @@ static PARAM_CFG_SETCOLOR ColorLayer23Cfg // Mask CMP Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayN" ), /* Keyword */
|
wxT( "ColLayN" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[23], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[23], /* Parameter address */
|
||||||
5 /* Default value */
|
5 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -450,7 +467,7 @@ static PARAM_CFG_SETCOLOR ColorLayer24Cfg // DRAW Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayO" ), /* Keyword */
|
wxT( "ColLayO" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[24], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[24], /* Parameter address */
|
||||||
LIGHTGRAY /* Default value */
|
LIGHTGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -458,7 +475,7 @@ static PARAM_CFG_SETCOLOR ColorLayer25Cfg // Comment Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayP" ), /* Keyword */
|
wxT( "ColLayP" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[25], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[25], /* Parameter address */
|
||||||
1 /* Default value */
|
1 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -466,7 +483,7 @@ static PARAM_CFG_SETCOLOR ColorLayer26Cfg // ECO1 Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayQ" ), /* Keyword */
|
wxT( "ColLayQ" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[26], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[26], /* Parameter address */
|
||||||
2 /* Default value */
|
2 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -474,7 +491,7 @@ static PARAM_CFG_SETCOLOR ColorLayer27Cfg //ECO2 Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayR" ), /* Keyword */
|
wxT( "ColLayR" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[27], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[27], /* Parameter address */
|
||||||
14 /* Default value */
|
14 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -482,7 +499,7 @@ static PARAM_CFG_SETCOLOR ColorLayer28Cfg // EDGES Layer Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayS" ), /* Keyword */
|
wxT( "ColLayS" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[28], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[28], /* Parameter address */
|
||||||
YELLOW /* Default value */
|
YELLOW /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -490,7 +507,7 @@ static PARAM_CFG_SETCOLOR ColorLayer29Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayT" ), /* Keyword */
|
wxT( "ColLayT" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[29], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[29], /* Parameter address */
|
||||||
13 /* Default value */
|
13 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -498,7 +515,7 @@ static PARAM_CFG_SETCOLOR ColorLayer30Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayU" ), /* Keyword */
|
wxT( "ColLayU" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[30], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[30], /* Parameter address */
|
||||||
14 /* Default value */
|
14 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -506,7 +523,7 @@ static PARAM_CFG_SETCOLOR ColorLayer31Cfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "ColLayV" ), /* Keyword */
|
wxT( "ColLayV" ), /* Keyword */
|
||||||
& g_DesignSettings.m_LayerColor[31], /* Parameter address */
|
&g_DesignSettings.m_LayerColor[31], /* Parameter address */
|
||||||
7 /* Default value */
|
7 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -514,7 +531,7 @@ static PARAM_CFG_SETCOLOR ColorTxtModCmpCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CTxtMoC" ), /* Keyword */
|
wxT( "CTxtMoC" ), /* Keyword */
|
||||||
& g_ModuleTextCMPColor, /* Parameter address */
|
&g_ModuleTextCMPColor, /* Parameter address */
|
||||||
LIGHTGRAY /* Default value */
|
LIGHTGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -522,7 +539,7 @@ static PARAM_CFG_SETCOLOR ColorTxtModCuCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CTxtMoS" ), /* Keyword */
|
wxT( "CTxtMoS" ), /* Keyword */
|
||||||
& g_ModuleTextCUColor, /* Parameter address */
|
&g_ModuleTextCUColor, /* Parameter address */
|
||||||
1 /* Default value */
|
1 /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -530,14 +547,14 @@ static PARAM_CFG_SETCOLOR VisibleTxtModCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CTxtVis" ), /* Keyword */
|
wxT( "CTxtVis" ), /* Keyword */
|
||||||
& g_ModuleTextNOVColor, /* Parameter address */
|
&g_ModuleTextNOVColor, /* Parameter address */
|
||||||
DARKGRAY /* Default value */
|
DARKGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT TexteModDimVCfg
|
static PARAM_CFG_INT TexteModDimVCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtModV" ), /* Keyword */
|
wxT( "TxtModV" ), /* Keyword */
|
||||||
& ModuleTextSize.y, /* Parameter address */
|
&ModuleTextSize.y, /* Parameter address */
|
||||||
500, /* Default value */
|
500, /* Default value */
|
||||||
1, 20000 /* Valeurs extremes */
|
1, 20000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -545,7 +562,7 @@ static PARAM_CFG_INT TexteModDimVCfg
|
||||||
static PARAM_CFG_INT TexteModDimHCfg
|
static PARAM_CFG_INT TexteModDimHCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtModH" ), /* Keyword */
|
wxT( "TxtModH" ), /* Keyword */
|
||||||
& ModuleTextSize.x, /* Parameter address */
|
&ModuleTextSize.x, /* Parameter address */
|
||||||
500, /* Default value */
|
500, /* Default value */
|
||||||
1, 20000 /* Valeurs extremes */
|
1, 20000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -553,7 +570,7 @@ static PARAM_CFG_INT TexteModDimHCfg
|
||||||
static PARAM_CFG_INT TexteModWidthCfg
|
static PARAM_CFG_INT TexteModWidthCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtModW" ), /* Keyword */
|
wxT( "TxtModW" ), /* Keyword */
|
||||||
& ModuleTextWidth, /* Parameter address */
|
&ModuleTextWidth, /* Parameter address */
|
||||||
100, /* Default value */
|
100, /* Default value */
|
||||||
1, 10000 /* Valeurs extremes */
|
1, 10000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -562,7 +579,7 @@ static PARAM_CFG_SETCOLOR ColorAncreModCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CAncreM" ), /* Keyword */
|
wxT( "CAncreM" ), /* Keyword */
|
||||||
& g_AnchorColor, /* Parameter address */
|
&g_AnchorColor, /* Parameter address */
|
||||||
BLUE /* Default value */
|
BLUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -570,7 +587,7 @@ static PARAM_CFG_SETCOLOR ColorPadCuCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoPadCu" ), /* Keyword */
|
wxT( "CoPadCu" ), /* Keyword */
|
||||||
& g_PadCUColor, /* Parameter address */
|
&g_PadCUColor, /* Parameter address */
|
||||||
GREEN /* Default value */
|
GREEN /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -578,39 +595,39 @@ static PARAM_CFG_SETCOLOR ColorPadCmpCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoPadCm" ), /* Keyword */
|
wxT( "CoPadCm" ), /* Keyword */
|
||||||
& g_PadCMPColor, /* Parameter address */
|
&g_PadCMPColor, /* Parameter address */
|
||||||
RED /* Default value */
|
RED /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_SETCOLOR ColorViaNormCfg
|
static PARAM_CFG_SETCOLOR ColorViaThroughCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoViaNo" ), /* Keyword */
|
wxT( "CoViaTh" ), /* Keyword */
|
||||||
& g_DesignSettings.m_ViaColor[VIA_THROUGH], /* Parameter address */
|
&g_DesignSettings.m_ViaColor[VIA_THROUGH], /* Parameter address */
|
||||||
LIGHTGRAY /* Default value */
|
LIGHTGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_SETCOLOR ColorViaborgneCfg
|
static PARAM_CFG_SETCOLOR ColorViaBlindBuriedCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoViaBo" ), /* Keyword */
|
wxT( "CoViaBu" ), /* Keyword */
|
||||||
& g_DesignSettings.m_ViaColor[VIA_BURIED], /* Parameter address */
|
&g_DesignSettings.m_ViaColor[VIA_BLIND_BURIED], /* Parameter address */
|
||||||
CYAN /* Default value */
|
BROWN /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_SETCOLOR ColorViaEnterreeCfg // Buried Via Color
|
static PARAM_CFG_SETCOLOR ColorViaMicroViaCfg // Buried Via Color
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoViaEn" ), /* Keyword */
|
wxT( "CoViaMi" ), /* Keyword */
|
||||||
& g_DesignSettings.m_ViaColor[VIA_BLIND], /* Parameter address */
|
&g_DesignSettings.m_ViaColor[VIA_MICROVIA], /* Parameter address */
|
||||||
BROWN /* Default value */
|
CYAN /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_SETCOLOR ColorpcbGrilleCfg
|
static PARAM_CFG_SETCOLOR ColorpcbGrilleCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoPcbGr" ), /* Keyword */
|
wxT( "CoPcbGr" ), /* Keyword */
|
||||||
& g_GridColor, /* Parameter address */
|
&g_GridColor, /* Parameter address */
|
||||||
DARKGRAY /* Default value */
|
DARKGRAY /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -618,14 +635,14 @@ static PARAM_CFG_SETCOLOR ColorCheveluCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CoRatsN" ), /* Keyword */
|
wxT( "CoRatsN" ), /* Keyword */
|
||||||
& g_DesignSettings.m_RatsnestColor, /* Parameter address */
|
&g_DesignSettings.m_RatsnestColor, /* Parameter address */
|
||||||
WHITE /* Default value */
|
WHITE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT HPGLpenNumCfg
|
static PARAM_CFG_INT HPGLpenNumCfg
|
||||||
(
|
(
|
||||||
wxT( "HPGLnum" ), /* Keyword */
|
wxT( "HPGLnum" ), /* Keyword */
|
||||||
& g_HPGL_Pen_Num, /* Parameter address */
|
&g_HPGL_Pen_Num, /* Parameter address */
|
||||||
1, /* Default value */
|
1, /* Default value */
|
||||||
1, 16 /* Valeurs extremes */
|
1, 16 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -633,7 +650,7 @@ static PARAM_CFG_INT HPGLpenNumCfg
|
||||||
static PARAM_CFG_INT HPGLdiamCfg // HPGL pen size (mils)
|
static PARAM_CFG_INT HPGLdiamCfg // HPGL pen size (mils)
|
||||||
(
|
(
|
||||||
wxT( "HPGdiam" ), /* Keyword */
|
wxT( "HPGdiam" ), /* Keyword */
|
||||||
& g_HPGL_Pen_Diam, /* Parameter address */
|
&g_HPGL_Pen_Diam, /* Parameter address */
|
||||||
15, /* Default value */
|
15, /* Default value */
|
||||||
0, 100 /* Valeurs extremes */
|
0, 100 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -641,7 +658,7 @@ static PARAM_CFG_INT HPGLdiamCfg // HPGL pen size (mils)
|
||||||
static PARAM_CFG_INT HPGLspeedCfg //HPGL pen speed (cm/s)
|
static PARAM_CFG_INT HPGLspeedCfg //HPGL pen speed (cm/s)
|
||||||
(
|
(
|
||||||
wxT( "HPGLSpd" ), /* Keyword */
|
wxT( "HPGLSpd" ), /* Keyword */
|
||||||
& g_HPGL_Pen_Speed, /* Parameter address */
|
&g_HPGL_Pen_Speed, /* Parameter address */
|
||||||
20, /* Default value */
|
20, /* Default value */
|
||||||
0, 1000 /* Valeurs extremes */
|
0, 1000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -649,7 +666,7 @@ static PARAM_CFG_INT HPGLspeedCfg //HPGL pen speed (cm/s)
|
||||||
static PARAM_CFG_INT HPGLrecouvrementCfg
|
static PARAM_CFG_INT HPGLrecouvrementCfg
|
||||||
(
|
(
|
||||||
wxT( "HPGLrec" ), /* Keyword */
|
wxT( "HPGLrec" ), /* Keyword */
|
||||||
& g_HPGL_Pen_Recouvrement, /* Parameter address */
|
&g_HPGL_Pen_Recouvrement, /* Parameter address */
|
||||||
2, /* Default value */
|
2, /* Default value */
|
||||||
0, 0x100 /* Valeurs extremes */
|
0, 0x100 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -657,14 +674,14 @@ static PARAM_CFG_INT HPGLrecouvrementCfg
|
||||||
static PARAM_CFG_BOOL HPGLcenterCfg //HPGL Org Coord ( 0 normal, 1 Centre)
|
static PARAM_CFG_BOOL HPGLcenterCfg //HPGL Org Coord ( 0 normal, 1 Centre)
|
||||||
(
|
(
|
||||||
wxT( "HPGLorg" ), /* Keyword */
|
wxT( "HPGLorg" ), /* Keyword */
|
||||||
& HPGL_Org_Centre, /* Parameter address */
|
&HPGL_Org_Centre, /* Parameter address */
|
||||||
FALSE /* Default value */
|
FALSE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_INT GERBERSpotMiniCfg //Aperture Mini (mils)
|
static PARAM_CFG_INT GERBERSpotMiniCfg //Aperture Mini (mils)
|
||||||
(
|
(
|
||||||
wxT( "GERBmin" ), /* Keyword */
|
wxT( "GERBmin" ), /* Keyword */
|
||||||
& spot_mini, /* Parameter address */
|
&spot_mini, /* Parameter address */
|
||||||
15, /* Default value */
|
15, /* Default value */
|
||||||
1, 100 /* Valeurs extremes */
|
1, 100 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -672,7 +689,7 @@ static PARAM_CFG_INT GERBERSpotMiniCfg //Aperture Mini (mils)
|
||||||
static PARAM_CFG_INT VernisEpargneGardeCfg
|
static PARAM_CFG_INT VernisEpargneGardeCfg
|
||||||
(
|
(
|
||||||
wxT( "VEgarde" ), /* Keyword */
|
wxT( "VEgarde" ), /* Keyword */
|
||||||
& g_DesignSettings.m_MaskMargin, /* Parameter address */
|
&g_DesignSettings.m_MaskMargin, /* Parameter address */
|
||||||
100, /* Default value */
|
100, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -680,7 +697,7 @@ static PARAM_CFG_INT VernisEpargneGardeCfg
|
||||||
static PARAM_CFG_INT DrawSegmLargeurCfg
|
static PARAM_CFG_INT DrawSegmLargeurCfg
|
||||||
(
|
(
|
||||||
wxT( "DrawLar" ), /* Keyword */
|
wxT( "DrawLar" ), /* Keyword */
|
||||||
& g_DesignSettings.m_DrawSegmentWidth, /* Parameter address */
|
&g_DesignSettings.m_DrawSegmentWidth, /* Parameter address */
|
||||||
120, /* Default value */
|
120, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -688,7 +705,7 @@ static PARAM_CFG_INT DrawSegmLargeurCfg
|
||||||
static PARAM_CFG_INT EdgeSegmLargeurCfg
|
static PARAM_CFG_INT EdgeSegmLargeurCfg
|
||||||
(
|
(
|
||||||
wxT( "EdgeLar" ), /* Keyword */
|
wxT( "EdgeLar" ), /* Keyword */
|
||||||
& g_DesignSettings.m_EdgeSegmentWidth, /* Parameter address */
|
&g_DesignSettings.m_EdgeSegmentWidth, /* Parameter address */
|
||||||
120, /* Default value */
|
120, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -696,7 +713,7 @@ static PARAM_CFG_INT EdgeSegmLargeurCfg
|
||||||
static PARAM_CFG_INT TexteSegmLargeurCfg
|
static PARAM_CFG_INT TexteSegmLargeurCfg
|
||||||
(
|
(
|
||||||
wxT( "TxtLar" ), /* Keyword */
|
wxT( "TxtLar" ), /* Keyword */
|
||||||
& g_DesignSettings.m_PcbTextWidth, /* Parameter address */
|
&g_DesignSettings.m_PcbTextWidth, /* Parameter address */
|
||||||
120, /* Default value */
|
120, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -704,7 +721,7 @@ static PARAM_CFG_INT TexteSegmLargeurCfg
|
||||||
static PARAM_CFG_INT ModuleSegmWidthCfg
|
static PARAM_CFG_INT ModuleSegmWidthCfg
|
||||||
(
|
(
|
||||||
wxT( "MSegLar" ), /* Keyword */
|
wxT( "MSegLar" ), /* Keyword */
|
||||||
& ModuleSegmentWidth, /* Parameter address */
|
&ModuleSegmentWidth, /* Parameter address */
|
||||||
120, /* Default value */
|
120, /* Default value */
|
||||||
0, 0xFFFF /* Valeurs extremes */
|
0, 0xFFFF /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -712,7 +729,7 @@ static PARAM_CFG_INT ModuleSegmWidthCfg
|
||||||
static PARAM_CFG_INT FormatPlotCfg
|
static PARAM_CFG_INT FormatPlotCfg
|
||||||
(
|
(
|
||||||
wxT( "ForPlot" ), /* Keyword */
|
wxT( "ForPlot" ), /* Keyword */
|
||||||
& format_plot, /* Parameter address */
|
&format_plot, /* Parameter address */
|
||||||
1, /* Default value */
|
1, /* Default value */
|
||||||
0, 3 /* Valeurs extremes */
|
0, 3 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -720,7 +737,7 @@ static PARAM_CFG_INT FormatPlotCfg
|
||||||
static PARAM_CFG_INT WTraitSerigraphiePlotCfg
|
static PARAM_CFG_INT WTraitSerigraphiePlotCfg
|
||||||
(
|
(
|
||||||
wxT( "WpenSer" ), /* Keyword */
|
wxT( "WpenSer" ), /* Keyword */
|
||||||
& g_PlotLine_Width, /* Parameter address */
|
&g_PlotLine_Width, /* Parameter address */
|
||||||
10, /* Default value */
|
10, /* Default value */
|
||||||
1, 10000 /* Valeurs extremes */
|
1, 10000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -728,7 +745,7 @@ static PARAM_CFG_INT WTraitSerigraphiePlotCfg
|
||||||
static PARAM_CFG_DOUBLE UserGrilleXCfg
|
static PARAM_CFG_DOUBLE UserGrilleXCfg
|
||||||
(
|
(
|
||||||
wxT( "UserGrX" ), /* Keyword */
|
wxT( "UserGrX" ), /* Keyword */
|
||||||
& g_UserGrid.x, /* Parameter address */
|
&g_UserGrid.x, /* Parameter address */
|
||||||
0.01, /* Default value */
|
0.01, /* Default value */
|
||||||
0.0001, 100.0 /* Valeurs extremes (inches)*/
|
0.0001, 100.0 /* Valeurs extremes (inches)*/
|
||||||
);
|
);
|
||||||
|
@ -736,7 +753,7 @@ static PARAM_CFG_DOUBLE UserGrilleXCfg
|
||||||
static PARAM_CFG_DOUBLE UserGrilleYCfg
|
static PARAM_CFG_DOUBLE UserGrilleYCfg
|
||||||
(
|
(
|
||||||
wxT( "UserGrY" ), /* Keyword */
|
wxT( "UserGrY" ), /* Keyword */
|
||||||
& g_UserGrid.y, /* Parameter address */
|
&g_UserGrid.y, /* Parameter address */
|
||||||
0.01, /* Default value */
|
0.01, /* Default value */
|
||||||
0.0001, 100.0 /* Valeurs extremes (inches)*/
|
0.0001, 100.0 /* Valeurs extremes (inches)*/
|
||||||
);
|
);
|
||||||
|
@ -744,7 +761,7 @@ static PARAM_CFG_DOUBLE UserGrilleYCfg
|
||||||
static PARAM_CFG_INT UserGrilleUnitCfg
|
static PARAM_CFG_INT UserGrilleUnitCfg
|
||||||
(
|
(
|
||||||
wxT( "UserGrU" ), /* Keyword */
|
wxT( "UserGrU" ), /* Keyword */
|
||||||
& g_UserGrid_Unit, /* Parameter address */
|
&g_UserGrid_Unit, /* Parameter address */
|
||||||
1, /* Default value */
|
1, /* Default value */
|
||||||
0, 1 /* Valeurs extremes */
|
0, 1 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -752,7 +769,7 @@ static PARAM_CFG_INT UserGrilleUnitCfg
|
||||||
static PARAM_CFG_INT DivGrillePcbCfg
|
static PARAM_CFG_INT DivGrillePcbCfg
|
||||||
(
|
(
|
||||||
wxT( "DivGrPc" ), /* Keyword */
|
wxT( "DivGrPc" ), /* Keyword */
|
||||||
& Pcbdiv_grille, /* Parameter address */
|
&Pcbdiv_grille, /* Parameter address */
|
||||||
1, /* Default value */
|
1, /* Default value */
|
||||||
1, 10 /* Valeurs extremes */
|
1, 10 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -760,7 +777,7 @@ static PARAM_CFG_INT DivGrillePcbCfg
|
||||||
static PARAM_CFG_INT TimeOutCfg //Duree entre Sauvegardes auto en secondes
|
static PARAM_CFG_INT TimeOutCfg //Duree entre Sauvegardes auto en secondes
|
||||||
(
|
(
|
||||||
wxT( "TimeOut" ), /* Keyword */
|
wxT( "TimeOut" ), /* Keyword */
|
||||||
& g_TimeOut, /* Parameter address */
|
&g_TimeOut, /* Parameter address */
|
||||||
600, /* Default value */
|
600, /* Default value */
|
||||||
0, 60000 /* Valeurs extremes */
|
0, 60000 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -769,7 +786,7 @@ static PARAM_CFG_BOOL DisplPolairCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "DPolair" ), /* Keyword */
|
wxT( "DPolair" ), /* Keyword */
|
||||||
& DisplayOpt.DisplayPolarCood, /* Parameter address */
|
&DisplayOpt.DisplayPolarCood, /* Parameter address */
|
||||||
FALSE /* Default value */
|
FALSE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -777,7 +794,7 @@ static PARAM_CFG_INT CursorShapeCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "CuShape" ), /* Keyword */
|
wxT( "CuShape" ), /* Keyword */
|
||||||
& g_CursorShape, /* Parameter address */
|
&g_CursorShape, /* Parameter address */
|
||||||
0, /* Default value */
|
0, /* Default value */
|
||||||
0, 1 /* Valeurs extremes */
|
0, 1 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -785,7 +802,7 @@ static PARAM_CFG_INT CursorShapeCfg
|
||||||
static PARAM_CFG_INT PrmMaxLinksShowed
|
static PARAM_CFG_INT PrmMaxLinksShowed
|
||||||
(
|
(
|
||||||
wxT( "MaxLnkS" ), /* Keyword */
|
wxT( "MaxLnkS" ), /* Keyword */
|
||||||
& g_MaxLinksShowed, /* Parameter address */
|
&g_MaxLinksShowed, /* Parameter address */
|
||||||
3, /* Default value */
|
3, /* Default value */
|
||||||
0, 15 /* Valeurs extremes */
|
0, 15 /* Valeurs extremes */
|
||||||
);
|
);
|
||||||
|
@ -793,14 +810,14 @@ static PARAM_CFG_INT PrmMaxLinksShowed
|
||||||
static PARAM_CFG_BOOL ShowRatsnestCfg
|
static PARAM_CFG_BOOL ShowRatsnestCfg
|
||||||
(
|
(
|
||||||
wxT( "ShowRat" ), /* Keyword */
|
wxT( "ShowRat" ), /* Keyword */
|
||||||
& g_Show_Ratsnest, /* Parameter address */
|
&g_Show_Ratsnest, /* Parameter address */
|
||||||
FALSE /* Default value */
|
FALSE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
static PARAM_CFG_BOOL ShowModuleRatsnestCfg
|
static PARAM_CFG_BOOL ShowModuleRatsnestCfg
|
||||||
(
|
(
|
||||||
wxT( "ShowMRa" ), /* Keyword */
|
wxT( "ShowMRa" ), /* Keyword */
|
||||||
& g_Show_Module_Ratsnest, /* Parameter address */
|
&g_Show_Module_Ratsnest, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -808,7 +825,7 @@ static PARAM_CFG_BOOL TwoSegmentTrackBuildCfg
|
||||||
(
|
(
|
||||||
INSETUP,
|
INSETUP,
|
||||||
wxT( "TwoSegT" ), /* Keyword */
|
wxT( "TwoSegT" ), /* Keyword */
|
||||||
& g_TwoSegmentTrackBuild, /* Parameter address */
|
&g_TwoSegmentTrackBuild, /* Parameter address */
|
||||||
TRUE /* Default value */
|
TRUE /* Default value */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -823,6 +840,8 @@ PARAM_CFG_BASE* ParamCfgList[] =
|
||||||
&PadMasqueLayerCfg,
|
&PadMasqueLayerCfg,
|
||||||
&ViaDiametreCfg,
|
&ViaDiametreCfg,
|
||||||
&ViaDrillCfg,
|
&ViaDrillCfg,
|
||||||
|
&MicroViaDiametreCfg,
|
||||||
|
&MicroViaDrillCfg,
|
||||||
&ViaShowHoleCfg,
|
&ViaShowHoleCfg,
|
||||||
&TrackClearenceCfg,
|
&TrackClearenceCfg,
|
||||||
&LayerCountCfg,
|
&LayerCountCfg,
|
||||||
|
@ -886,9 +905,9 @@ PARAM_CFG_BASE* ParamCfgList[] =
|
||||||
&ColorAncreModCfg,
|
&ColorAncreModCfg,
|
||||||
&ColorPadCuCfg,
|
&ColorPadCuCfg,
|
||||||
&ColorPadCmpCfg,
|
&ColorPadCmpCfg,
|
||||||
&ColorViaNormCfg,
|
&ColorViaThroughCfg,
|
||||||
&ColorViaborgneCfg,
|
&ColorViaBlindBuriedCfg,
|
||||||
&ColorViaEnterreeCfg,
|
&ColorViaMicroViaCfg,
|
||||||
&ColorpcbGrilleCfg,
|
&ColorpcbGrilleCfg,
|
||||||
&ColorCheveluCfg,
|
&ColorCheveluCfg,
|
||||||
&HPGLpenNumCfg,
|
&HPGLpenNumCfg,
|
||||||
|
|
|
@ -109,7 +109,7 @@ eda_global bool Drc_On
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
eda_global bool g_AutoDeleteOldTrack /* Allows automatic deletion of the old track after
|
eda_global bool g_AutoDeleteOldTrack /* Allows automatic deletion of the old track after
|
||||||
creation of a new track */
|
* creation of a new track */
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
= TRUE
|
= TRUE
|
||||||
#endif
|
#endif
|
||||||
|
@ -157,9 +157,9 @@ bool inline IsModuleLayerVisible( int layer ) {
|
||||||
|
|
||||||
eda_global bool Track_45_Only; /* Flag pour limiter l'inclinaison
|
eda_global bool Track_45_Only; /* Flag pour limiter l'inclinaison
|
||||||
* pistes a 45 degres seulement */
|
* pistes a 45 degres seulement */
|
||||||
eda_global bool Segments_45_Only;/* Flag pour limiter l'inclinaison
|
eda_global bool Segments_45_Only; /* Flag pour limiter l'inclinaison
|
||||||
* edge pcb a 45 degres seulement */
|
* edge pcb a 45 degres seulement */
|
||||||
eda_global wxString PcbExtBuffer // Board file extension
|
eda_global wxString PcbExtBuffer // Board file extension
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
( wxT( ".brd" ) )
|
( wxT( ".brd" ) )
|
||||||
#endif
|
#endif
|
||||||
|
@ -169,13 +169,13 @@ eda_global wxString g_SaveFileName // File Name for periodic saving
|
||||||
( wxT( "$savepcb" ) )
|
( wxT( "$savepcb" ) )
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
eda_global wxString NetNameBuffer; // Netlist file extension
|
eda_global wxString NetNameBuffer; // Netlist file extension
|
||||||
eda_global wxString NetExtBuffer
|
eda_global wxString NetExtBuffer
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
( wxT( ".net" ) )
|
( wxT( ".net" ) )
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
eda_global wxString NetCmpExtBuffer // cmp/footprint association file extension
|
eda_global wxString NetCmpExtBuffer // cmp/footprint association file extension
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
( wxT( ".cmp" ) )
|
( wxT( ".cmp" ) )
|
||||||
#endif
|
#endif
|
||||||
|
@ -187,7 +187,7 @@ eda_global wxString LibExtBuffer
|
||||||
( wxT( ".mod" ) )
|
( wxT( ".mod" ) )
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
eda_global wxString g_Shapes3DExtBuffer //3D shape file extension
|
eda_global wxString g_Shapes3DExtBuffer //3D shape file extension
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
( wxT( ".wrl" ) )
|
( wxT( ".wrl" ) )
|
||||||
#endif
|
#endif
|
||||||
|
@ -237,7 +237,7 @@ eda_global class EDA_BoardDesignSettings g_DesignSettings;
|
||||||
// Default values for pad editions
|
// Default values for pad editions
|
||||||
#ifndef GERBVIEW
|
#ifndef GERBVIEW
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
D_PAD g_Pad_Master( (MODULE*) NULL );
|
D_PAD g_Pad_Master( (MODULE*) NULL );
|
||||||
|
|
||||||
#else
|
#else
|
||||||
extern D_PAD g_Pad_Master;
|
extern D_PAD g_Pad_Master;
|
||||||
|
@ -285,10 +285,10 @@ eda_global int g_TrackSegmentCount; // New created segment count
|
||||||
eda_global wxString g_ViaType_Name[4]
|
eda_global wxString g_ViaType_Name[4]
|
||||||
#if defined MAIN
|
#if defined MAIN
|
||||||
= {
|
= {
|
||||||
wxT( "???" ), // Unused
|
_( "??? Via" ), // Not used yet
|
||||||
_( "Blind Via" ), // from inner layer to external layer (TOP or BOTTOM)
|
_( "Micro Via" ), // from external layer (TOP or BOTTOM) from the near neightbour inner layer only
|
||||||
_( "Buried Via" ), // from inner to inner layer
|
_( "Blind/Buried Via" ), // from inner or external to inner or external layer (no restriction)
|
||||||
_( "Standard Via" ) // Usual via (from TOP to BOTTOM layer)
|
_( "Through Via" ) // Usual via (from TOP to BOTTOM layer only )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -464,12 +464,8 @@ static void PrintDrillMark( BOARD* Pcb )
|
||||||
if( g_DrillShapeOpt == DRILL_MARK )
|
if( g_DrillShapeOpt == DRILL_MARK )
|
||||||
diam.x = diam.y = SMALL_DRILL;
|
diam.x = diam.y = SMALL_DRILL;
|
||||||
else
|
else
|
||||||
{
|
diam.x = diam.y = pts->GetDrillValue();
|
||||||
if( pts->m_Drill < 0 )
|
|
||||||
diam.x = diam.y = g_DesignSettings.m_ViaDrill;
|
|
||||||
else
|
|
||||||
diam.x = diam.y = pts->m_Drill;
|
|
||||||
}
|
|
||||||
trace_1_pastille_RONDE_POST( pos, diam.x, FILLED );
|
trace_1_pastille_RONDE_POST( pos, diam.x, FILLED );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -606,7 +606,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
|
||||||
if( NewVia->GetLayer() == 0x0F || NewVia->GetLayer() == 0xF0 )
|
if( NewVia->GetLayer() == 0x0F || NewVia->GetLayer() == 0xF0 )
|
||||||
NewVia->m_Shape = VIA_THROUGH;
|
NewVia->m_Shape = VIA_THROUGH;
|
||||||
else
|
else
|
||||||
NewVia->m_Shape = VIA_BURIED;
|
NewVia->m_Shape = VIA_BLIND_BURIED;
|
||||||
|
|
||||||
NewVia->Insert( m_Pcb, NULL );
|
NewVia->Insert( m_Pcb, NULL );
|
||||||
NbTrack++;
|
NbTrack++;
|
||||||
|
|
|
@ -336,19 +336,19 @@ static ColorButton VIA_THROUGH_Butt =
|
||||||
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
||||||
};
|
};
|
||||||
|
|
||||||
static ColorButton Via_Aveugle_Butt =
|
static ColorButton VIA_BLIND_BURIED_Butt =
|
||||||
{
|
{
|
||||||
wxT( "*" ),
|
wxT( "*" ),
|
||||||
VIA_BLIND, // Layer
|
VIA_BLIND_BURIED, // Layer
|
||||||
&g_DesignSettings.m_ViaColor[VIA_BLIND], // Address of optional parameter
|
&g_DesignSettings.m_ViaColor[VIA_BLIND_BURIED], // Address of optional parameter
|
||||||
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
||||||
};
|
};
|
||||||
|
|
||||||
static ColorButton BLIND_VIA_Butt =
|
static ColorButton MICRO_VIA_Butt =
|
||||||
{
|
{
|
||||||
wxT( "*" ),
|
wxT( "*" ),
|
||||||
VIA_BURIED, // Layer
|
VIA_MICROVIA, // Layer
|
||||||
&g_DesignSettings.m_ViaColor[VIA_BURIED], // Address of optional parameter
|
&g_DesignSettings.m_ViaColor[VIA_MICROVIA], // Address of optional parameter
|
||||||
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
TRUE // Toggle ITEM_NOT_SHOW bit of the color variable
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -491,8 +491,8 @@ static ColorButton* laytool_list[] = {
|
||||||
// &Layer_32_Butt,
|
// &Layer_32_Butt,
|
||||||
|
|
||||||
&VIA_THROUGH_Butt,
|
&VIA_THROUGH_Butt,
|
||||||
&Via_Aveugle_Butt,
|
&VIA_BLIND_BURIED_Butt,
|
||||||
&BLIND_VIA_Butt,
|
&MICRO_VIA_Butt,
|
||||||
&Ratsnest_Butt,
|
&Ratsnest_Butt,
|
||||||
&Pad_Cu_Butt,
|
&Pad_Cu_Butt,
|
||||||
&Pad_Cmp_Butt,
|
&Pad_Cmp_Butt,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**********************************************/
|
/**********************************************/
|
||||||
/* vi_edit.cpp: som editing function for vias */
|
/* vi_edit.cpp: som editing function for vias */
|
||||||
/**********************************************/
|
/**********************************************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
|
@ -12,93 +12,102 @@
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
void WinEDA_PcbFrame::Via_Edit_Control(wxDC * DC, int command_type, SEGVIA * via)
|
void WinEDA_PcbFrame::Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via )
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
/*
|
|
||||||
Execute edit commands relative to vias
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
int ii;
|
|
||||||
TRACK * via_struct ;
|
|
||||||
|
|
||||||
switch ( command_type )
|
|
||||||
{
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE1:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE2:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE3:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE4:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE5:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE6:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE7:
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE8: // selec the new current value for via size (via diameter)
|
|
||||||
DrawPanel->MouseToCursorSchema();
|
|
||||||
ii = command_type - ID_POPUP_PCB_SELECT_VIASIZE1;
|
|
||||||
g_DesignSettings.m_CurrentViaSize = g_DesignSettings.m_ViaSizeHistory[ii];
|
|
||||||
DisplayTrackSettings();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: // Enter a new alternate value for drill via
|
|
||||||
InstallPcbOptionsFrame(wxDefaultPosition, DC, ID_PCB_TRACK_SIZE_SETUP);
|
|
||||||
DrawPanel->MouseToCursorSchema();
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: // Set the drill via to custom
|
|
||||||
if ( (g_ViaHoleLastValue > 0) && (g_ViaHoleLastValue < via->m_Width) )
|
|
||||||
{
|
|
||||||
via->Draw(DrawPanel, DC, GR_XOR);
|
|
||||||
via->m_Drill = g_ViaHoleLastValue;
|
|
||||||
via->Draw(DrawPanel, DC, GR_OR);
|
|
||||||
GetScreen()->SetModify();
|
|
||||||
}
|
|
||||||
else DisplayError(this, _("Incorrect value for Via drill. No via drill change"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_EXPORT: // Export the current drill value as the new custom value
|
|
||||||
if ( via->m_Drill > 0 ) g_ViaHoleLastValue = via->m_Drill;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS:// Export the current drill value to via which héave the same size
|
|
||||||
if ( via->m_Drill > 0 ) g_ViaHoleLastValue = via->m_Drill;
|
|
||||||
via_struct = m_Pcb->m_Track ;
|
|
||||||
for ( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
|
||||||
{
|
|
||||||
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
|
|
||||||
{
|
|
||||||
if ( via_struct->m_Width != via->m_Width ) continue;
|
|
||||||
via_struct->Draw(DrawPanel, DC, GR_XOR);
|
|
||||||
via_struct->m_Drill = via->m_Drill;
|
|
||||||
via_struct->Draw(DrawPanel, DC, GR_OR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GetScreen()->SetModify();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT:
|
/*
|
||||||
via->Draw(DrawPanel, DC, GR_XOR);
|
* Execute edit commands relative to vias
|
||||||
via->m_Drill = -1;
|
*/
|
||||||
via->Draw(DrawPanel, DC, GR_OR);
|
{
|
||||||
GetScreen()->SetModify();
|
int ii;
|
||||||
break;
|
TRACK* via_struct;
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: // Reset all via hole to default value
|
switch( command_type )
|
||||||
via_struct = m_Pcb->m_Track ;
|
{
|
||||||
for ( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
case ID_POPUP_PCB_SELECT_VIASIZE1:
|
||||||
{
|
case ID_POPUP_PCB_SELECT_VIASIZE2:
|
||||||
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
|
case ID_POPUP_PCB_SELECT_VIASIZE3:
|
||||||
{
|
case ID_POPUP_PCB_SELECT_VIASIZE4:
|
||||||
if( via_struct->m_Drill != -1 )
|
case ID_POPUP_PCB_SELECT_VIASIZE5:
|
||||||
{
|
case ID_POPUP_PCB_SELECT_VIASIZE6:
|
||||||
via_struct->Draw(DrawPanel, DC, GR_XOR);
|
case ID_POPUP_PCB_SELECT_VIASIZE7:
|
||||||
via_struct->m_Drill = -1;
|
case ID_POPUP_PCB_SELECT_VIASIZE8: // selec the new current value for via size (via diameter)
|
||||||
via_struct->Draw(DrawPanel, DC, GR_OR);
|
DrawPanel->MouseToCursorSchema();
|
||||||
}
|
ii = command_type - ID_POPUP_PCB_SELECT_VIASIZE1;
|
||||||
}
|
g_DesignSettings.m_CurrentViaSize = g_DesignSettings.m_ViaSizeHistory[ii];
|
||||||
}
|
DisplayTrackSettings();
|
||||||
GetScreen()->SetModify();
|
break;
|
||||||
break;
|
|
||||||
|
case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: // Enter a new alternate value for drill via
|
||||||
default:
|
InstallPcbOptionsFrame( wxDefaultPosition, DC, ID_PCB_TRACK_SIZE_SETUP );
|
||||||
DisplayError( this, wxT("WinEDA_PcbFrame::Via_Edition() error: unknown command"));
|
DrawPanel->MouseToCursorSchema();
|
||||||
break;
|
|
||||||
}
|
case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: // Set the drill via to custom
|
||||||
DrawPanel->MouseToCursorSchema();
|
if( (g_ViaHoleLastValue > 0) && (g_ViaHoleLastValue < via->m_Width) )
|
||||||
|
{
|
||||||
|
via->Draw( DrawPanel, DC, GR_XOR );
|
||||||
|
via->SetDrillValue( g_ViaHoleLastValue );
|
||||||
|
via->Draw( DrawPanel, DC, GR_OR );
|
||||||
|
GetScreen()->SetModify();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
DisplayError( this, _( "Incorrect value for Via drill. No via drill change" ) );
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_VIA_HOLE_EXPORT: // Export the current drill value as the new custom value
|
||||||
|
if( via->GetDrillValue() > 0 )
|
||||||
|
g_ViaHoleLastValue = via->GetDrillValue();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: // Export the current drill value to via which héave the same size
|
||||||
|
if( via->GetDrillValue() > 0 )
|
||||||
|
g_ViaHoleLastValue = via->GetDrillValue();
|
||||||
|
via_struct = m_Pcb->m_Track;
|
||||||
|
for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
||||||
|
{
|
||||||
|
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
|
||||||
|
{
|
||||||
|
if( via_struct->m_Width != via->m_Width )
|
||||||
|
continue;
|
||||||
|
via_struct->Draw( DrawPanel, DC, GR_XOR );
|
||||||
|
via_struct->SetDrillValue( via->GetDrillValue() );
|
||||||
|
via_struct->Draw( DrawPanel, DC, GR_OR );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetScreen()->SetModify();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT:
|
||||||
|
via->Draw( DrawPanel, DC, GR_XOR );
|
||||||
|
via->SetDrillDefault();
|
||||||
|
via->Draw( DrawPanel, DC, GR_OR );
|
||||||
|
GetScreen()->SetModify();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: // Reset all via hole to default value
|
||||||
|
via_struct = m_Pcb->m_Track;
|
||||||
|
for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
||||||
|
{
|
||||||
|
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
|
||||||
|
{
|
||||||
|
if( via_struct->IsDrillDefault() )
|
||||||
|
{
|
||||||
|
via_struct->Draw( DrawPanel, DC, GR_XOR );
|
||||||
|
via_struct->SetDrillDefault();
|
||||||
|
via_struct->Draw( DrawPanel, DC, GR_OR );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetScreen()->SetModify();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
DisplayError( this, wxT( "WinEDA_PcbFrame::Via_Edition() error: unknown command" ) );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawPanel->MouseToCursorSchema();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue