Commit e3a3d16a authored by CHARRAS's avatar CHARRAS

small bugs fixed. Added: Support for microvias (see changelog)

parent a5e2913d
...@@ -250,7 +250,8 @@ double zpos, height; ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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 { ...@@ -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 ...@@ -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: ...@@ -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);
}; };
/**********************************/ /**********************************/
......
No preview for this file type
...@@ -2,7 +2,7 @@ msgid "" ...@@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kicad\n" "Project-Id-Version: kicad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2008-01-05 14:17+0100\n" "PO-Revision-Date: 2008-01-12 09:15+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n" "Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
...@@ -21,195 +21,26 @@ msgstr "" ...@@ -21,195 +21,26 @@ msgstr ""
"X-Poedit-SearchPath-6: 3d-viewer\n" "X-Poedit-SearchPath-6: 3d-viewer\n"
"X-Poedit-SearchPath-7: share\n" "X-Poedit-SearchPath-7: share\n"
#: pcbnew/gendrill.cpp:150 #: pcbnew/specctra.cpp:1557
msgid "Drill tools" #: pcbnew/specctra.cpp:1564
msgstr "Outils de perage" msgid "Expecting"
msgstr "Attendu"
#: pcbnew/gendrill.cpp:171
#: pcbnew/dialog_general_options.cpp:272
#: gerbview/options.cpp:186
msgid "millimeters"
msgstr "millimetres"
#: pcbnew/gendrill.cpp:171
#: eeschema/dialog_options.cpp:246
msgid "inches"
msgstr "Pouces"
#: pcbnew/gendrill.cpp:173
msgid "Drill Units:"
msgstr "Units perage:"
#: pcbnew/gendrill.cpp:181
msgid "decimal format"
msgstr "Format dcimal"
#: pcbnew/gendrill.cpp:182
msgid "suppress leading zeros"
msgstr "Suppression zeros de tte"
#: pcbnew/gendrill.cpp:182
msgid "suppress trailing zeros"
msgstr "Suppression zeros de fin"
#: pcbnew/gendrill.cpp:182
msgid "keep zeros"
msgstr "Garder les zros"
#: pcbnew/gendrill.cpp:185
msgid "Zeros Format"
msgstr "Format des zros"
#: pcbnew/gendrill.cpp:192
#: pcbnew/gendrill.cpp:452
msgid "2:3"
msgstr "2:3"
#: pcbnew/gendrill.cpp:192
#: pcbnew/gendrill.cpp:453
msgid "2:4"
msgstr "2:4"
#: pcbnew/gendrill.cpp:193
#: pcbnew/gendrill.cpp:458
msgid "3:2"
msgstr "3:2"
#: pcbnew/gendrill.cpp:193
#: pcbnew/gendrill.cpp:459
msgid "3:3"
msgstr "3:3"
#: pcbnew/gendrill.cpp:199
msgid "Precision"
msgstr "Prcision"
#: pcbnew/gendrill.cpp:211
msgid "absolute"
msgstr "Absolu"
#: pcbnew/gendrill.cpp:211
msgid "auxiliary axis"
msgstr "Axe Auxiliaire"
#: pcbnew/gendrill.cpp:213
msgid "Drill Origin:"
msgstr "Origine des coord de percage:"
#: pcbnew/gendrill.cpp:222
#: pcbnew/gendrill.cpp:230
#: eeschema/libedit.cpp:41
#: eeschema/viewlibs.cpp:120
msgid "None"
msgstr "Aucun"
#: pcbnew/gendrill.cpp:222
msgid "drill sheet (HPGL)"
msgstr "Plan de perage (HPGL)"
#: pcbnew/gendrill.cpp:222
msgid "drill sheet (PostScript)"
msgstr "Plan de perage (Postscript)"
#: pcbnew/gendrill.cpp:224
msgid "Drill Sheet:"
msgstr "Plan de perage:"
#: pcbnew/gendrill.cpp:230
msgid "Drill report"
msgstr "Rapport de perage"
#: pcbnew/gendrill.cpp:232
msgid "Drill Report:"
msgstr "Rapport de perage:"
#: pcbnew/gendrill.cpp:238
msgid "Via Drill"
msgstr "Perage des vias"
#: pcbnew/gendrill.cpp:243
#: eeschema/plothpgl.cpp:239
msgid "Pen Number"
msgstr "Numro de plume"
#: pcbnew/gendrill.cpp:246
msgid "Speed (cm/s)"
msgstr "Vitesse plume ( cm/s )"
#: pcbnew/gendrill.cpp:249
msgid "mirror y axis"
msgstr "Miroir sur axe Y"
#: pcbnew/gendrill.cpp:253
msgid "minimal header"
msgstr "Entte minimal"
#: pcbnew/gendrill.cpp:259
msgid "&Execute"
msgstr "&Excuter"
#: pcbnew/gendrill.cpp:263
#: eeschema/plotps.cpp:208
#: share/svg_print.cpp:222
#: share/dialog_print.cpp:225
msgid "&Close"
msgstr "&Fermer"
#: pcbnew/gendrill.cpp:389
msgid "Drill file"
msgstr "Fichier de percage"
#: pcbnew/gendrill.cpp:403
#: pcbnew/gendrill.cpp:1623
#: pcbnew/plotps.cpp:51
#: pcbnew/xchgmod.cpp:642
msgid "Unable to create file "
msgstr "Impossible de crer le fichier "
#: pcbnew/gendrill.cpp:410
#: pcbnew/gendrill.cpp:1036
#: pcbnew/gendrill.cpp:1629
#: pcbnew/plothpgl.cpp:74
#: pcbnew/plotps.cpp:58
#: pcbnew/plotgerb.cpp:84
msgid "File"
msgstr "Fichier"
#: pcbnew/gendrill.cpp:416
#: pcbnew/gendrill.cpp:1041
#: pcbnew/gendrill.cpp:1634
msgid "Tools"
msgstr "Outils"
#: pcbnew/gendrill.cpp:420
#: pcbnew/gendrill.cpp:1110
#: pcbnew/gendrill.cpp:1686
#: pcbnew/class_pad.cpp:1085
#: pcbnew/class_track.cpp:822
#: pcbnew/class_track.cpp:827
msgid "Drill"
msgstr "Perage"
#: pcbnew/gendrill.cpp:971 #: pcbnew/specctra.cpp:1573
msgid "Drill Map file" #: pcbnew/specctra.cpp:1580
msgstr "Fichier Plan de perage" msgid "Unexpected"
msgstr "Inattendu"
#: pcbnew/gendrill.cpp:1030 #: pcbnew/specctra.cpp:1601
#: pcbnew/specctra.cpp:2846
#, c-format #, c-format
msgid "Unable to create file <%s>" msgid "Unable to open file \"%s\""
msgstr "Impossible de crer fichier <%s>" msgstr "Ne peut pas ouvrirle fichier \"%s\""
#: pcbnew/gendrill.cpp:1332
msgid ""
" Drill map: Too many diameter values to draw to draw one symbol per drill value (max 13)\n"
"Plot uses circle shape for some drill values"
msgstr ""
"Plan de perage: trop de diametres diffrents pour tracer 1 symbole par diametre\n"
"Le trac utilise des cercles pour quelques valeurs "
#: pcbnew/gendrill.cpp:1608 #: pcbnew/specctra.cpp:2814
msgid "Drill Report file" #, c-format
msgstr "Fichier rapport de perage:" msgid "System file error writing to file \"%s\""
msgstr "Erreur systme sur criture fichier \"%s\""
#: pcbnew/files.cpp:57 #: pcbnew/files.cpp:57
msgid "Recovery file " msgid "Recovery file "
...@@ -255,7 +86,6 @@ msgid "Warning: unable to create bakfile " ...@@ -255,7 +86,6 @@ msgid "Warning: unable to create bakfile "
msgstr "Attention: Impossible de crer fichier backup " msgstr "Attention: Impossible de crer fichier backup "
#: pcbnew/files.cpp:326 #: pcbnew/files.cpp:326
#: pcbnew/plothpgl.cpp:67
#: pcbnew/librairi.cpp:255 #: pcbnew/librairi.cpp:255
#: pcbnew/librairi.cpp:401 #: pcbnew/librairi.cpp:401
#: pcbnew/librairi.cpp:551 #: pcbnew/librairi.cpp:551
...@@ -264,6 +94,7 @@ msgstr "Attention: Impossible de cr ...@@ -264,6 +94,7 @@ msgstr "Attention: Impossible de cr
#: pcbnew/gen_modules_placefile.cpp:98 #: pcbnew/gen_modules_placefile.cpp:98
#: pcbnew/gen_modules_placefile.cpp:251 #: pcbnew/gen_modules_placefile.cpp:251
#: pcbnew/export_gencad.cpp:83 #: pcbnew/export_gencad.cpp:83
#: pcbnew/plothpgl.cpp:67
#: eeschema/plothpgl.cpp:560 #: eeschema/plothpgl.cpp:560
#: eeschema/plotps.cpp:389 #: eeschema/plotps.cpp:389
#: cvpcb/genequiv.cpp:42 #: cvpcb/genequiv.cpp:42
...@@ -311,6 +142,12 @@ msgstr "Affichage coord Polaires" ...@@ -311,6 +142,12 @@ msgstr "Affichage coord Polaires"
msgid "Inches" msgid "Inches"
msgstr "Pouces" msgstr "Pouces"
#: pcbnew/dialog_general_options.cpp:272
#: pcbnew/gendrill.cpp:171
#: gerbview/options.cpp:186
msgid "millimeters"
msgstr "millimetres"
#: pcbnew/dialog_general_options.cpp:275 #: pcbnew/dialog_general_options.cpp:275
#: eeschema/dialog_options.cpp:248 #: eeschema/dialog_options.cpp:248
#: gerbview/options.cpp:187 #: gerbview/options.cpp:187
...@@ -411,13 +248,13 @@ msgstr "Controle la capture du curseur pcb quand le curseuir souris est sur le p ...@@ -411,13 +248,13 @@ msgstr "Controle la capture du curseur pcb quand le curseuir souris est sur le p
#: pcbnew/dialog_general_options.cpp:368 #: pcbnew/dialog_general_options.cpp:368
#: pcbnew/dialog_graphic_items_options.cpp:263 #: pcbnew/dialog_graphic_items_options.cpp:263
#: pcbnew/dialog_pad_edit.cpp:217
#: pcbnew/dialog_initpcb.cpp:161 #: pcbnew/dialog_initpcb.cpp:161
#: pcbnew/dialog_edit_mod_text.cpp:213 #: pcbnew/dialog_edit_mod_text.cpp:213
#: pcbnew/dialog_track_options.cpp:186 #: pcbnew/dialog_track_options.cpp:212
#: pcbnew/dialog_display_options.cpp:282 #: pcbnew/dialog_display_options.cpp:282
#: pcbnew/swap_layers.cpp:220 #: pcbnew/swap_layers.cpp:220
#: pcbnew/set_grid.cpp:171 #: pcbnew/set_grid.cpp:171
#: pcbnew/dialog_pad_edit.cpp:217
#: pcbnew/dialog_drc.cpp:549 #: pcbnew/dialog_drc.cpp:549
#: eeschema/symbtext.cpp:174 #: eeschema/symbtext.cpp:174
#: eeschema/dialog_options.cpp:274 #: eeschema/dialog_options.cpp:274
...@@ -438,14 +275,14 @@ msgstr "&OK" ...@@ -438,14 +275,14 @@ msgstr "&OK"
#: pcbnew/dialog_general_options.cpp:372 #: pcbnew/dialog_general_options.cpp:372
#: pcbnew/dialog_graphic_items_options.cpp:267 #: pcbnew/dialog_graphic_items_options.cpp:267
#: pcbnew/dialog_pad_edit.cpp:221
#: pcbnew/dialog_netlist.cpp:189 #: pcbnew/dialog_netlist.cpp:189
#: pcbnew/dialog_initpcb.cpp:164 #: pcbnew/dialog_initpcb.cpp:164
#: pcbnew/dialog_edit_mod_text.cpp:217 #: pcbnew/dialog_edit_mod_text.cpp:217
#: pcbnew/dialog_track_options.cpp:190 #: pcbnew/dialog_track_options.cpp:216
#: pcbnew/dialog_display_options.cpp:286 #: pcbnew/dialog_display_options.cpp:286
#: pcbnew/swap_layers.cpp:224 #: pcbnew/swap_layers.cpp:224
#: pcbnew/set_grid.cpp:176 #: pcbnew/set_grid.cpp:176
#: pcbnew/dialog_pad_edit.cpp:221
#: pcbnew/zones.cpp:219 #: pcbnew/zones.cpp:219
#: pcbnew/dialog_zones_by_polygon.cpp:204 #: pcbnew/dialog_zones_by_polygon.cpp:204
#: pcbnew/dialog_drc.cpp:545 #: pcbnew/dialog_drc.cpp:545
...@@ -470,19 +307,19 @@ msgstr "&OK" ...@@ -470,19 +307,19 @@ msgstr "&OK"
msgid "&Cancel" msgid "&Cancel"
msgstr "&Annuler" msgstr "&Annuler"
#: pcbnew/edit_track_width.cpp:94 #: pcbnew/edit_track_width.cpp:96
msgid "Change track width (entire NET) ?" msgid "Change track width (entire NET) ?"
msgstr "Change largeur piste ( NET complet) ?" msgstr "Change largeur piste ( NET complet) ?"
#: pcbnew/edit_track_width.cpp:128 #: pcbnew/edit_track_width.cpp:130
msgid "Edit All Tracks and Vias Sizes" msgid "Edit All Tracks and Vias Sizes"
msgstr "Editer TOUTES Pistes et Vias" msgstr "Editer TOUTES Pistes et Vias"
#: pcbnew/edit_track_width.cpp:133 #: pcbnew/edit_track_width.cpp:135
msgid "Edit All Via Sizes" msgid "Edit All Via Sizes"
msgstr "Editer TOUTES Vias" msgstr "Editer TOUTES Vias"
#: pcbnew/edit_track_width.cpp:138 #: pcbnew/edit_track_width.cpp:140
msgid "Edit All Track Sizes" msgid "Edit All Track Sizes"
msgstr "Editer TOUTES Pistes" msgstr "Editer TOUTES Pistes"
...@@ -533,15 +370,15 @@ msgid "3D settings" ...@@ -533,15 +370,15 @@ msgid "3D settings"
msgstr "3D Caract" msgstr "3D Caract"
#: pcbnew/dialog_edit_module.cpp:118 #: pcbnew/dialog_edit_module.cpp:118
#: pcbnew/pcbtexte.cpp:111
#: pcbnew/sel_layer.cpp:158
#: pcbnew/sel_layer.cpp:316
#: pcbnew/muonde.cpp:348 #: pcbnew/muonde.cpp:348
#: pcbnew/block.cpp:160 #: pcbnew/pcbtexte.cpp:111
#: pcbnew/block.cpp:157
#: pcbnew/cotation.cpp:105 #: pcbnew/cotation.cpp:105
#: pcbnew/mirepcb.cpp:99 #: pcbnew/mirepcb.cpp:99
#: pcbnew/set_color.cpp:353 #: pcbnew/set_color.cpp:353
#: pcbnew/dialog_zones_by_polygon.cpp:201 #: pcbnew/dialog_zones_by_polygon.cpp:201
#: pcbnew/sel_layer.cpp:158
#: pcbnew/sel_layer.cpp:316
#: eeschema/sheetlab.cpp:93 #: eeschema/sheetlab.cpp:93
#: eeschema/eelayer.cpp:251 #: eeschema/eelayer.cpp:251
#: gerbview/reglage.cpp:108 #: gerbview/reglage.cpp:108
...@@ -554,19 +391,19 @@ msgid "OK" ...@@ -554,19 +391,19 @@ msgid "OK"
msgstr "OK" msgstr "OK"
#: pcbnew/dialog_edit_module.cpp:122 #: pcbnew/dialog_edit_module.cpp:122
#: pcbnew/pcbtexte.cpp:116
#: pcbnew/sel_layer.cpp:162
#: pcbnew/sel_layer.cpp:320
#: pcbnew/muonde.cpp:352 #: pcbnew/muonde.cpp:352
#: pcbnew/pcbtexte.cpp:116
#: pcbnew/modedit_onclick.cpp:203 #: pcbnew/modedit_onclick.cpp:203
#: pcbnew/modedit_onclick.cpp:235 #: pcbnew/modedit_onclick.cpp:235
#: pcbnew/onrightclick.cpp:145 #: pcbnew/onrightclick.cpp:145
#: pcbnew/onrightclick.cpp:159 #: pcbnew/onrightclick.cpp:159
#: pcbnew/block.cpp:157 #: pcbnew/block.cpp:154
#: pcbnew/globaleditpad.cpp:108
#: pcbnew/cotation.cpp:109 #: pcbnew/cotation.cpp:109
#: pcbnew/mirepcb.cpp:103 #: pcbnew/mirepcb.cpp:103
#: pcbnew/set_color.cpp:357 #: pcbnew/set_color.cpp:357
#: pcbnew/sel_layer.cpp:162
#: pcbnew/sel_layer.cpp:320
#: pcbnew/globaleditpad.cpp:108
#: eeschema/onrightclick.cpp:122 #: eeschema/onrightclick.cpp:122
#: eeschema/onrightclick.cpp:134 #: eeschema/onrightclick.cpp:134
#: eeschema/sheetlab.cpp:97 #: eeschema/sheetlab.cpp:97
...@@ -622,7 +459,9 @@ msgid "Delete Field" ...@@ -622,7 +459,9 @@ msgid "Delete Field"
msgstr "Supprimer Champ" msgstr "Supprimer Champ"
#: pcbnew/dialog_edit_module.cpp:234 #: pcbnew/dialog_edit_module.cpp:234
#: common/common.cpp:280 #: common/common.cpp:298
#: common/common.cpp:309
#: common/common.cpp:342
msgid "Component" msgid "Component"
msgstr "Composant" msgstr "Composant"
...@@ -633,21 +472,21 @@ msgstr "Cuivre" ...@@ -633,21 +472,21 @@ msgstr "Cuivre"
#: pcbnew/dialog_edit_module.cpp:235 #: pcbnew/dialog_edit_module.cpp:235
#: pcbnew/class_text_mod.cpp:369 #: pcbnew/class_text_mod.cpp:369
#: pcbnew/class_text_mod.cpp:373 #: pcbnew/class_text_mod.cpp:373
#: pcbnew/sel_layer.cpp:145 #: pcbnew/class_pcb_text.cpp:177
#: pcbnew/class_pcb_text.cpp:198
#: pcbnew/class_pad.cpp:1062 #: pcbnew/class_pad.cpp:1062
#: pcbnew/classpcb.cpp:210 #: pcbnew/classpcb.cpp:189
#: pcbnew/class_track.cpp:806 #: pcbnew/class_track.cpp:779
#: pcbnew/class_module.cpp:1217 #: pcbnew/class_module.cpp:1217
#: pcbnew/class_zone.cpp:441 #: pcbnew/sel_layer.cpp:145
#: pcbnew/class_zone.cpp:483
#: gerbview/affiche.cpp:109 #: gerbview/affiche.cpp:109
msgid "Layer" msgid "Layer"
msgstr "Couche" msgstr "Couche"
#: pcbnew/dialog_edit_module.cpp:243 #: pcbnew/dialog_edit_module.cpp:243
#: pcbnew/dialog_edit_module.cpp:289 #: pcbnew/dialog_edit_module.cpp:289
#: pcbnew/pcbtexte.cpp:176
#: pcbnew/muonde.cpp:360 #: pcbnew/muonde.cpp:360
#: pcbnew/pcbtexte.cpp:176
#: pcbnew/cotation.cpp:113 #: pcbnew/cotation.cpp:113
#: eeschema/dialog_options.cpp:229 #: eeschema/dialog_options.cpp:229
#: eeschema/onrightclick.cpp:306 #: eeschema/onrightclick.cpp:306
...@@ -662,7 +501,7 @@ msgstr "User" ...@@ -662,7 +501,7 @@ msgstr "User"
#: pcbnew/dialog_edit_module.cpp:246 #: pcbnew/dialog_edit_module.cpp:246
#: pcbnew/class_text_mod.cpp:383 #: pcbnew/class_text_mod.cpp:383
#: pcbnew/class_pcb_text.cpp:209 #: pcbnew/class_pcb_text.cpp:188
#: pcbnew/class_pad.cpp:1104 #: pcbnew/class_pad.cpp:1104
#: pcbnew/class_module.cpp:1240 #: pcbnew/class_module.cpp:1240
#: eeschema/affiche.cpp:117 #: eeschema/affiche.cpp:117
...@@ -914,29 +753,124 @@ msgstr "Fichiers Librairies" ...@@ -914,29 +753,124 @@ msgstr "Fichiers Librairies"
msgid "Library exists! No Change" msgid "Library exists! No Change"
msgstr "Librairie existante! Pas de changement" msgstr "Librairie existante! Pas de changement"
#: pcbnew/librairi.cpp:48 #: pcbnew/muonde.cpp:149
msgid "Import Module:" msgid "Gap"
msgstr "Importer Module:" msgstr "Gap"
#: pcbnew/librairi.cpp:73
msgid "Not a module file"
msgstr "N'est pas un fichier de Modules"
#: pcbnew/librairi.cpp:132 #: pcbnew/muonde.cpp:154
msgid "Create lib" msgid "Stub"
msgstr "Crer lib" msgstr "Stub"
#: pcbnew/librairi.cpp:132 #: pcbnew/muonde.cpp:160
msgid "Export Module:" msgid "Arc Stub"
msgstr "Exporter Module:" msgstr "Arc Stub"
#: pcbnew/librairi.cpp:147 #: pcbnew/muonde.cpp:175
#: pcbnew/librairi.cpp:388 #: common/common.cpp:53
#, c-format msgid " (mm):"
msgid "File %s exists, OK to replace ?" msgstr " (mm):"
msgstr "Fichier %s existant, OK pour remplacer ?"
#: pcbnew/librairi.cpp:156 #: pcbnew/muonde.cpp:182
msgid " (inch):"
msgstr " (pouce):"
#: pcbnew/muonde.cpp:189
#: pcbnew/muonde.cpp:202
#: pcbnew/gen_self.h:231
msgid "Incorrect number, abort"
msgstr "Nombre incorrect, arret"
#: pcbnew/muonde.cpp:198
msgid "Angle (0.1deg):"
msgstr "Angle (0.1deg):"
#: pcbnew/muonde.cpp:330
msgid "Complex shape"
msgstr "Formr complexe"
#: pcbnew/muonde.cpp:356
msgid "Read Shape Descr File..."
msgstr "Lire fichier de description de forme..."
#: pcbnew/muonde.cpp:360
msgid "Symmetrical"
msgstr "Symtrique"
#: pcbnew/muonde.cpp:360
msgid "Mirrored"
msgstr "Miroir"
#: pcbnew/muonde.cpp:362
msgid "Shape Option"
msgstr "Option Forme"
#: pcbnew/muonde.cpp:367
#: pcbnew/pcbtexte.cpp:126
#: pcbnew/cotation.cpp:125
#: pcbnew/mirepcb.cpp:108
#: eeschema/sheet.cpp:189
#: eeschema/sheet.cpp:200
#: eeschema/pinedit-dialog.cpp:273
#: eeschema/pinedit-dialog.cpp:279
#: common/wxwineda.cpp:91
msgid "Size"
msgstr "Taille "
#: pcbnew/muonde.cpp:428
msgid "Read descr shape file"
msgstr "Lire fichier de description de forme"
#: pcbnew/muonde.cpp:444
msgid "File not found"
msgstr "fichier non trouv"
#: pcbnew/muonde.cpp:548
msgid "Shape has a null size!"
msgstr "La forme a une taille nulle"
#: pcbnew/muonde.cpp:553
msgid "Shape has no points!"
msgstr "La forme n'a pas de points"
#: pcbnew/muonde.cpp:679
msgid "No pad for this module"
msgstr "Pas de pad dans ce module"
#: pcbnew/muonde.cpp:684
msgid "Only one pad for this module"
msgstr "Seulement un pad dans ce module"
#: pcbnew/muonde.cpp:698
msgid "Gap (mm):"
msgstr "Gap (mm):"
#: pcbnew/muonde.cpp:704
msgid "Gap (inch):"
msgstr "Gap (inch):"
#: pcbnew/librairi.cpp:48
msgid "Import Module:"
msgstr "Importer Module:"
#: pcbnew/librairi.cpp:73
msgid "Not a module file"
msgstr "N'est pas un fichier de Modules"
#: pcbnew/librairi.cpp:132
msgid "Create lib"
msgstr "Crer lib"
#: pcbnew/librairi.cpp:132
msgid "Export Module:"
msgstr "Exporter Module:"
#: pcbnew/librairi.cpp:147
#: pcbnew/librairi.cpp:388
#, c-format
msgid "File %s exists, OK to replace ?"
msgstr "Fichier %s existant, OK pour remplacer ?"
#: pcbnew/librairi.cpp:156
#: eeschema/symbedit.cpp:166 #: eeschema/symbedit.cpp:166
#, c-format #, c-format
msgid "Unable to create <%s>" msgid "Unable to create <%s>"
...@@ -1354,16 +1288,16 @@ msgid "Module" ...@@ -1354,16 +1288,16 @@ msgid "Module"
msgstr "Module" msgstr "Module"
#: pcbnew/class_text_mod.cpp:359 #: pcbnew/class_text_mod.cpp:359
#: pcbnew/classpcb.cpp:194 #: pcbnew/classpcb.cpp:173
#: pcbnew/class_marker.cpp:112 #: pcbnew/class_marker.cpp:112
#: pcbnew/class_track.cpp:750 #: pcbnew/class_track.cpp:723
#: pcbnew/class_zone.cpp:422 #: pcbnew/class_zone.cpp:454
#: gerbview/affiche.cpp:93 #: gerbview/affiche.cpp:93
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
#: pcbnew/class_text_mod.cpp:363 #: pcbnew/class_text_mod.cpp:363
#: pcbnew/class_pcb_text.cpp:204 #: pcbnew/class_pcb_text.cpp:183
#: pcbnew/dialog_display_options.cpp:275 #: pcbnew/dialog_display_options.cpp:275
#: eeschema/dialog_options.cpp:265 #: eeschema/dialog_options.cpp:265
#: gerbview/affiche.cpp:43 #: gerbview/affiche.cpp:43
...@@ -1371,7 +1305,7 @@ msgid "No" ...@@ -1371,7 +1305,7 @@ msgid "No"
msgstr "Non" msgstr "Non"
#: pcbnew/class_text_mod.cpp:365 #: pcbnew/class_text_mod.cpp:365
#: pcbnew/class_pcb_text.cpp:206 #: pcbnew/class_pcb_text.cpp:185
#: pcbnew/dialog_display_options.cpp:274 #: pcbnew/dialog_display_options.cpp:274
#: eeschema/dialog_options.cpp:264 #: eeschema/dialog_options.cpp:264
#: gerbview/affiche.cpp:45 #: gerbview/affiche.cpp:45
...@@ -1380,7 +1314,7 @@ msgstr "Oui" ...@@ -1380,7 +1314,7 @@ msgstr "Oui"
#: pcbnew/class_text_mod.cpp:380 #: pcbnew/class_text_mod.cpp:380
#: pcbnew/pcbtexte.cpp:176 #: pcbnew/pcbtexte.cpp:176
#: pcbnew/class_pcb_text.cpp:202 #: pcbnew/class_pcb_text.cpp:181
#: pcbnew/modedit_onclick.cpp:254 #: pcbnew/modedit_onclick.cpp:254
#: pcbnew/cotation.cpp:113 #: pcbnew/cotation.cpp:113
#: gerbview/affiche.cpp:40 #: gerbview/affiche.cpp:40
...@@ -1390,11 +1324,11 @@ msgstr "Miroir" ...@@ -1390,11 +1324,11 @@ msgstr "Miroir"
#: pcbnew/class_text_mod.cpp:386 #: pcbnew/class_text_mod.cpp:386
#: pcbnew/pcbtexte.cpp:130 #: pcbnew/pcbtexte.cpp:130
#: pcbnew/class_pcb_text.cpp:212 #: pcbnew/class_pcb_text.cpp:191
#: pcbnew/dialog_edit_mod_text.cpp:204 #: pcbnew/dialog_edit_mod_text.cpp:204
#: pcbnew/classpcb.cpp:215 #: pcbnew/classpcb.cpp:194
#: pcbnew/cotation.cpp:129 #: pcbnew/cotation.cpp:129
#: pcbnew/class_track.cpp:830 #: pcbnew/class_track.cpp:806
#: pcbnew/mirepcb.cpp:113 #: pcbnew/mirepcb.cpp:113
#: pcbnew/class_edge_mod.cpp:297 #: pcbnew/class_edge_mod.cpp:297
#: eeschema/dialog_cmp_graphic_properties.cpp:188 #: eeschema/dialog_cmp_graphic_properties.cpp:188
...@@ -1405,14 +1339,14 @@ msgid "Width" ...@@ -1405,14 +1339,14 @@ msgid "Width"
msgstr "Epaisseur" msgstr "Epaisseur"
#: pcbnew/class_text_mod.cpp:389 #: pcbnew/class_text_mod.cpp:389
#: pcbnew/class_pcb_text.cpp:215 #: pcbnew/class_pcb_text.cpp:194
#: pcbnew/class_pad.cpp:1075 #: pcbnew/class_pad.cpp:1075
#: gerbview/affiche.cpp:55 #: gerbview/affiche.cpp:55
msgid "H Size" msgid "H Size"
msgstr "Taille H" msgstr "Taille H"
#: pcbnew/class_text_mod.cpp:392 #: pcbnew/class_text_mod.cpp:392
#: pcbnew/class_pcb_text.cpp:218 #: pcbnew/class_pcb_text.cpp:197
#: pcbnew/class_pad.cpp:1079 #: pcbnew/class_pad.cpp:1079
#: gerbview/affiche.cpp:58 #: gerbview/affiche.cpp:58
msgid "V Size" msgid "V Size"
...@@ -1429,18 +1363,6 @@ msgstr "Propri ...@@ -1429,18 +1363,6 @@ msgstr "Propri
msgid "Text:" msgid "Text:"
msgstr "Texte:" msgstr "Texte:"
#: pcbnew/pcbtexte.cpp:126
#: pcbnew/muonde.cpp:367
#: pcbnew/cotation.cpp:125
#: pcbnew/mirepcb.cpp:108
#: eeschema/sheet.cpp:189
#: eeschema/sheet.cpp:200
#: eeschema/pinedit-dialog.cpp:273
#: eeschema/pinedit-dialog.cpp:279
#: common/wxwineda.cpp:91
msgid "Size"
msgstr "Taille "
#: pcbnew/pcbtexte.cpp:134 #: pcbnew/pcbtexte.cpp:134
msgid "Position" msgid "Position"
msgstr "Position" msgstr "Position"
...@@ -1450,37 +1372,65 @@ msgstr "Position" ...@@ -1450,37 +1372,65 @@ msgstr "Position"
msgid "Orientation" msgid "Orientation"
msgstr "Orientation" msgstr "Orientation"
#: pcbnew/sel_layer.cpp:92 #: pcbnew/clean.cpp:179
msgid "Select Layer:" msgid "Delete unconnected tracks:"
msgstr "Selection couche:" msgstr "Suppression Pistes non connectes"
#: pcbnew/sel_layer.cpp:137 #: pcbnew/clean.cpp:198
msgid "(Deselect)" msgid "ViaDef"
msgstr "(Deselection)" msgstr "ViaDef"
#: pcbnew/sel_layer.cpp:238 #: pcbnew/clean.cpp:370
msgid "Less than two copper layers are being used." msgid "Clean Null Segments"
msgstr "Il y a moins de 2 couches cuivre utilises." msgstr "Nettoyage segments nulls"
#: pcbnew/sel_layer.cpp:239 #: pcbnew/clean.cpp:462
msgid "Hence Layer Pairs cannot be specified." msgid "Merging Segments:"
msgstr "Donc les paires de couche ne peuvent pas tre spcifies" msgstr "Associe Segment"
#: pcbnew/sel_layer.cpp:263 #: pcbnew/clean.cpp:464
msgid "Select Layer Pair:" msgid "Merge"
msgstr "Selection paire de couches" msgstr "Merge"
#: pcbnew/sel_layer.cpp:294 #: pcbnew/clean.cpp:464
msgid "Top Layer" #: pcbnew/dialog_pad_edit.cpp:186
msgstr "Couche Sup." #: eeschema/dialog_erc.cpp:192
#: eeschema/dialog_erc.cpp:196
#: eeschema/dialog_edit_component_in_schematic.cpp:171
msgid "0"
msgstr "0"
#: pcbnew/sel_layer.cpp:299 #: pcbnew/clean.cpp:480
msgid "Bottom Layer" msgid "Merge: "
msgstr "Couche Inf." msgstr "Merge: "
#: pcbnew/sel_layer.cpp:358 #: pcbnew/clean.cpp:710
msgid "The Top Layer and Bottom Layer must differ" msgid "DRC Control:"
msgstr "Les couches dessus et dessous doivent diffrer" msgstr "Controle DRC:"
#: pcbnew/clean.cpp:715
msgid "NetCtr"
msgstr "NetCtr"
#: pcbnew/clean.cpp:1061
msgid "Centre"
msgstr "Centre"
#: pcbnew/clean.cpp:1061
msgid "0 "
msgstr "0"
#: pcbnew/clean.cpp:1072
msgid "Pads: "
msgstr "Pastilles: "
#: pcbnew/clean.cpp:1076
msgid "Max"
msgstr "Max"
#: pcbnew/clean.cpp:1079
msgid "Segm"
msgstr "Segm"
#: pcbnew/autorout.cpp:59 #: pcbnew/autorout.cpp:59
msgid "Net not selected" msgid "Net not selected"
...@@ -1502,140 +1452,187 @@ msgstr "Pas de memoire pour autoroutage" ...@@ -1502,140 +1452,187 @@ msgstr "Pas de memoire pour autoroutage"
msgid "Place Cells" msgid "Place Cells"
msgstr "Place Cells" msgstr "Place Cells"
#: pcbnew/muonde.cpp:149 #: pcbnew/dialog_graphic_items_options.cpp:194
msgid "Gap" msgid "Graphics:"
msgstr "Gap" msgstr "Elments graphiques;"
#: pcbnew/muonde.cpp:154 #: pcbnew/dialog_graphic_items_options.cpp:198
msgid "Stub" msgid "Graphic segm Width"
msgstr "Stub" msgstr "Epaiss. segm graphique"
#: pcbnew/muonde.cpp:160 #: pcbnew/dialog_graphic_items_options.cpp:204
msgid "Arc Stub" msgid "Board Edges Width"
msgstr "Arc Stub" msgstr "Epaiss. contour pcb"
#: pcbnew/muonde.cpp:175 #: pcbnew/dialog_graphic_items_options.cpp:210
#: common/common.cpp:52 msgid "Copper Text Width"
msgid " (mm):" msgstr "Epaisseur Texte sur cuivre"
msgstr " (mm):"
#: pcbnew/muonde.cpp:182 #: pcbnew/dialog_graphic_items_options.cpp:216
msgid " (inch):" msgid "Text Size V"
msgstr " (pouce):" msgstr "Hauteur texte"
#: pcbnew/muonde.cpp:189 #: pcbnew/dialog_graphic_items_options.cpp:222
#: pcbnew/muonde.cpp:202 msgid "Text Size H"
#: pcbnew/gen_self.h:231 msgstr "Largeur texte"
msgid "Incorrect number, abort"
msgstr "Nombre incorrect, arret"
#: pcbnew/muonde.cpp:198 #: pcbnew/dialog_graphic_items_options.cpp:230
msgid "Angle (0.1deg):" msgid "Modules:"
msgstr "Angle (0.1deg):" msgstr "Modules: "
#: pcbnew/muonde.cpp:330 #: pcbnew/dialog_graphic_items_options.cpp:234
msgid "Complex shape" msgid "Edges Module Width"
msgstr "Formr complexe" msgstr "Epaiss. contor module"
#: pcbnew/muonde.cpp:356 #: pcbnew/dialog_graphic_items_options.cpp:240
msgid "Read Shape Descr File..." msgid "Text Module Width"
msgstr "Lire fichier de description de forme..." msgstr "Epaisseur Texte Module"
#: pcbnew/muonde.cpp:360 #: pcbnew/dialog_graphic_items_options.cpp:246
msgid "Symmetrical" msgid "Text Module Size V"
msgstr "Symtrique" msgstr "Hauteur Texte Module"
#: pcbnew/muonde.cpp:360 #: pcbnew/dialog_graphic_items_options.cpp:252
msgid "Mirrored" msgid "Text Module Size H"
msgstr "Miroir" msgstr "Largeur Texte Module"
#: pcbnew/muonde.cpp:362 #: pcbnew/dialog_pad_edit.cpp:157
msgid "Shape Option" msgid "Pad Num :"
msgstr "Option Forme" msgstr "Num Pad :"
#: pcbnew/muonde.cpp:428 #: pcbnew/dialog_pad_edit.cpp:163
msgid "Read descr shape file" msgid "Pad Net Name :"
msgstr "Lire fichier de description de forme" msgstr "NetName Pad:"
#: pcbnew/muonde.cpp:444 #: pcbnew/dialog_pad_edit.cpp:176
msgid "File not found" #: pcbnew/dialog_pad_edit.cpp:196
msgstr "fichier non trouv" #: pcbnew/classpcb.cpp:178
#: pcbnew/class_board_item.cpp:107
#: pcbnew/class_track.cpp:749
msgid "Circle"
msgstr "Cercle"
#: pcbnew/muonde.cpp:548 #: pcbnew/dialog_pad_edit.cpp:177
msgid "Shape has a null size!" #: pcbnew/dialog_pad_edit.cpp:197
msgstr "La forme a une taille nulle" msgid "Oval"
msgstr "Ovale"
#: pcbnew/muonde.cpp:553 #: pcbnew/dialog_pad_edit.cpp:178
msgid "Shape has no points!" msgid "Drill Shape:"
msgstr "La forme n'a pas de points" msgstr "Forme du perage:"
#: pcbnew/muonde.cpp:679 #: pcbnew/dialog_pad_edit.cpp:187
msgid "No pad for this module" msgid "90"
msgstr "Pas de pad dans ce module" msgstr "90"
#: pcbnew/muonde.cpp:684 #: pcbnew/dialog_pad_edit.cpp:188
msgid "Only one pad for this module" #: eeschema/dialog_edit_component_in_schematic.cpp:174
msgstr "Seulement un pad dans ce module" msgid "-90"
msgstr "-90"
#: pcbnew/muonde.cpp:698 #: pcbnew/dialog_pad_edit.cpp:189
msgid "Gap (mm):" #: eeschema/dialog_edit_component_in_schematic.cpp:173
msgstr "Gap (mm):" msgid "180"
msgstr "180"
#: pcbnew/muonde.cpp:704 #: pcbnew/dialog_pad_edit.cpp:191
msgid "Gap (inch):" msgid "Pad Orient:"
msgstr "Gap (inch):" msgstr "Orient pad:"
#: pcbnew/dialog_graphic_items_options.cpp:194 #: pcbnew/dialog_pad_edit.cpp:198
msgid "Graphics:" #: pcbnew/class_board_item.cpp:101
msgstr "Elments graphiques;" msgid "Rect"
msgstr "Rect"
#: pcbnew/dialog_graphic_items_options.cpp:198 #: pcbnew/dialog_pad_edit.cpp:199
msgid "Graphic segm Width" msgid "Trapezoidal"
msgstr "Epaiss. segm graphique" msgstr "Trapezoidal"
#: pcbnew/dialog_graphic_items_options.cpp:204 #: pcbnew/dialog_pad_edit.cpp:200
msgid "Board Edges Width" msgid "Pad Shape:"
msgstr "Epaiss. contour pcb" msgstr "Forme Pad:"
#: pcbnew/dialog_graphic_items_options.cpp:210 #: pcbnew/dialog_pad_edit.cpp:205
msgid "Copper Text Width" #: pcbnew/class_track.cpp:751
msgstr "Epaisseur Texte sur cuivre" msgid "Standard"
msgstr "Standard"
#: pcbnew/dialog_graphic_items_options.cpp:216 #: pcbnew/dialog_pad_edit.cpp:206
msgid "Text Size V" msgid "SMD"
msgstr "Hauteur texte" msgstr "CMS"
#: pcbnew/dialog_graphic_items_options.cpp:222 #: pcbnew/dialog_pad_edit.cpp:207
msgid "Text Size H" #: eeschema/netlist.cpp:210
msgstr "Largeur texte" msgid "Conn"
msgstr "Conn"
#: pcbnew/dialog_graphic_items_options.cpp:230 #: pcbnew/dialog_pad_edit.cpp:208
msgid "Modules:" msgid "Hole"
msgstr "Modules: " msgstr "Hole"
#: pcbnew/dialog_graphic_items_options.cpp:234 #: pcbnew/dialog_pad_edit.cpp:209
msgid "Edges Module Width" msgid "Mechanical"
msgstr "Epaiss. contor module" msgstr "Mechanical"
#: pcbnew/dialog_graphic_items_options.cpp:240 #: pcbnew/dialog_pad_edit.cpp:210
msgid "Text Module Width" msgid "Pad Type:"
msgstr "Epaisseur Texte Module" msgstr "Type Pad:"
#: pcbnew/dialog_graphic_items_options.cpp:246 #: pcbnew/dialog_pad_edit.cpp:225
msgid "Text Module Size V" msgid "Layers:"
msgstr "Hauteur Texte Module" msgstr "Couches:"
#: pcbnew/dialog_graphic_items_options.cpp:252 #: pcbnew/dialog_pad_edit.cpp:229
msgid "Text Module Size H" msgid "Copper layer"
msgstr "Largeur Texte Module" msgstr "Couches Cuivre"
#: pcbnew/zone_filling_algorithm.cpp:155 #: pcbnew/dialog_pad_edit.cpp:233
msgid "No pads or starting point found to fill this zone outline" msgid "Comp layer"
msgstr "Pas de pads ou de points de dpart pour remplir ce contour de zone" msgstr "Couche Cmp"
#: pcbnew/zone_filling_algorithm.cpp:193 #: pcbnew/dialog_pad_edit.cpp:239
msgid "Ok" msgid "Adhesive Cmp"
msgstr "Ok" msgstr "Adhesive Cmp"
#: pcbnew/dialog_pad_edit.cpp:243
msgid "Adhesive Copper"
msgstr "Adhesive Cu"
#: pcbnew/dialog_pad_edit.cpp:247
msgid "Solder paste Cmp"
msgstr "Pate souder Cmp"
#: pcbnew/dialog_pad_edit.cpp:251
msgid "Solder paste Copper"
msgstr "Pate souder cuivre"
#: pcbnew/dialog_pad_edit.cpp:255
msgid "Silkscreen Cmp"
msgstr "Srigr Cmp"
#: pcbnew/dialog_pad_edit.cpp:259
msgid "Silkscreen Copper"
msgstr "Srigr Cu "
#: pcbnew/dialog_pad_edit.cpp:263
msgid "Solder mask Cmp"
msgstr "Masque soudure Cmp"
#: pcbnew/dialog_pad_edit.cpp:267
msgid "Solder mask Copper"
msgstr "Masque soudure cuivre"
#: pcbnew/dialog_pad_edit.cpp:271
msgid "E.C.O.1 layer"
msgstr "couche E.C.O.1"
#: pcbnew/dialog_pad_edit.cpp:275
msgid "E.C.O.2 layer"
msgstr "couche E.C.O.2"
#: pcbnew/dialog_pad_edit.cpp:279
msgid "Draft layer"
msgstr "Couche dessin"
#: pcbnew/tool_modedit.cpp:53 #: pcbnew/tool_modedit.cpp:53
#: eeschema/tool_lib.cpp:123 #: eeschema/tool_lib.cpp:123
...@@ -1864,21 +1861,236 @@ msgstr "Grille %.3f" ...@@ -1864,21 +1861,236 @@ msgstr "Grille %.3f"
msgid "User Grid" msgid "User Grid"
msgstr "Grille perso" msgstr "Grille perso"
#: pcbnew/gendrill.cpp:150
msgid "Drill tools"
msgstr "Outils de perage"
#: pcbnew/gendrill.cpp:171
#: eeschema/dialog_options.cpp:246
msgid "inches"
msgstr "Pouces"
#: pcbnew/gendrill.cpp:173
msgid "Drill Units:"
msgstr "Units perage:"
#: pcbnew/gendrill.cpp:181
msgid "decimal format"
msgstr "Format dcimal"
#: pcbnew/gendrill.cpp:182
msgid "suppress leading zeros"
msgstr "Suppression zeros de tte"
#: pcbnew/gendrill.cpp:182
msgid "suppress trailing zeros"
msgstr "Suppression zeros de fin"
#: pcbnew/gendrill.cpp:182
msgid "keep zeros"
msgstr "Garder les zros"
#: pcbnew/gendrill.cpp:185
msgid "Zeros Format"
msgstr "Format des zros"
#: pcbnew/gendrill.cpp:192
#: pcbnew/gendrill.cpp:452
msgid "2:3"
msgstr "2:3"
#: pcbnew/gendrill.cpp:192
#: pcbnew/gendrill.cpp:453
msgid "2:4"
msgstr "2:4"
#: pcbnew/gendrill.cpp:193
#: pcbnew/gendrill.cpp:458
msgid "3:2"
msgstr "3:2"
#: pcbnew/gendrill.cpp:193
#: pcbnew/gendrill.cpp:459
msgid "3:3"
msgstr "3:3"
#: pcbnew/gendrill.cpp:199
msgid "Precision"
msgstr "Prcision"
#: pcbnew/gendrill.cpp:211
msgid "absolute"
msgstr "Absolu"
#: pcbnew/gendrill.cpp:211
msgid "auxiliary axis"
msgstr "Axe Auxiliaire"
#: pcbnew/gendrill.cpp:213
msgid "Drill Origin:"
msgstr "Origine des coord de percage:"
#: pcbnew/gendrill.cpp:222
#: pcbnew/gendrill.cpp:230
#: eeschema/libedit.cpp:41
#: eeschema/viewlibs.cpp:120
msgid "None"
msgstr "Aucun"
#: pcbnew/gendrill.cpp:222
msgid "drill sheet (HPGL)"
msgstr "Plan de perage (HPGL)"
#: pcbnew/gendrill.cpp:222
msgid "drill sheet (PostScript)"
msgstr "Plan de perage (Postscript)"
#: pcbnew/gendrill.cpp:224
msgid "Drill Sheet:"
msgstr "Plan de perage:"
#: pcbnew/gendrill.cpp:230
msgid "Drill report"
msgstr "Rapport de perage"
#: pcbnew/gendrill.cpp:232
msgid "Drill Report:"
msgstr "Rapport de perage:"
#: pcbnew/gendrill.cpp:238
msgid "Via Drill"
msgstr "Perage des vias"
#: pcbnew/gendrill.cpp:243
#: eeschema/plothpgl.cpp:239
msgid "Pen Number"
msgstr "Numro de plume"
#: pcbnew/gendrill.cpp:246
msgid "Speed (cm/s)"
msgstr "Vitesse plume ( cm/s )"
#: pcbnew/gendrill.cpp:249
msgid "mirror y axis"
msgstr "Miroir sur axe Y"
#: pcbnew/gendrill.cpp:253
msgid "minimal header"
msgstr "Entte minimal"
#: pcbnew/gendrill.cpp:259
msgid "&Execute"
msgstr "&Excuter"
#: pcbnew/gendrill.cpp:263
#: eeschema/plotps.cpp:208
#: share/svg_print.cpp:222
#: share/dialog_print.cpp:225
msgid "&Close"
msgstr "&Fermer"
#: pcbnew/gendrill.cpp:389
msgid "Drill file"
msgstr "Fichier de percage"
#: pcbnew/gendrill.cpp:403
#: pcbnew/gendrill.cpp:1623
#: pcbnew/plotps.cpp:51
#: pcbnew/xchgmod.cpp:642
msgid "Unable to create file "
msgstr "Impossible de crer le fichier "
#: pcbnew/gendrill.cpp:410
#: pcbnew/gendrill.cpp:1036
#: pcbnew/gendrill.cpp:1629
#: pcbnew/plotps.cpp:58
#: pcbnew/plotgerb.cpp:84
#: pcbnew/plothpgl.cpp:74
msgid "File"
msgstr "Fichier"
#: pcbnew/gendrill.cpp:416
#: pcbnew/gendrill.cpp:1041
#: pcbnew/gendrill.cpp:1634
msgid "Tools"
msgstr "Outils"
#: pcbnew/gendrill.cpp:420
#: pcbnew/gendrill.cpp:1110
#: pcbnew/gendrill.cpp:1686
#: pcbnew/class_pad.cpp:1085
#: pcbnew/class_track.cpp:798
#: pcbnew/class_track.cpp:803
msgid "Drill"
msgstr "Perage"
#: pcbnew/gendrill.cpp:971
msgid "Drill Map file"
msgstr "Fichier Plan de perage"
#: pcbnew/gendrill.cpp:1030
#, c-format
msgid "Unable to create file <%s>"
msgstr "Impossible de crer fichier <%s>"
#: pcbnew/gendrill.cpp:1332
msgid ""
" Drill map: Too many diameter values to draw to draw one symbol per drill value (max 13)\n"
"Plot uses circle shape for some drill values"
msgstr ""
"Plan de perage: trop de diametres diffrents pour tracer 1 symbole par diametre\n"
"Le trac utilise des cercles pour quelques valeurs "
#: pcbnew/gendrill.cpp:1608
msgid "Drill Report file"
msgstr "Fichier rapport de perage:"
#: pcbnew/via_edit.cpp:51 #: pcbnew/via_edit.cpp:51
msgid "Incorrect value for Via drill. No via drill change" msgid "Incorrect value for Via drill. No via drill change"
msgstr "Valeur incorrecte pour perage.Pas de changement pour la via" msgstr "Valeur incorrecte pour perage.Pas de changement pour la via"
#: pcbnew/move-drag_pads.cpp:251 #: pcbnew/editpads.cpp:77
#, c-format msgid "Pad Position"
msgid "Delete Pad (module %s %s) " msgstr "Position Pad"
msgstr "Effacer Pad (module %s %s) "
#: pcbnew/class_pcb_text.cpp:194 #: pcbnew/editpads.cpp:84
msgid "Pad Size"
msgstr "Taille Pad"
#: pcbnew/editpads.cpp:91
msgid "Delta"
msgstr "Delta"
#: pcbnew/editpads.cpp:98
msgid "Offset"
msgstr "Offset"
#: pcbnew/editpads.cpp:107
msgid "Pad Drill"
msgstr "Diam perage"
#: pcbnew/editpads.cpp:119
msgid "Pad Orient (0.1 deg)"
msgstr "Orient Pad (0.1 deg)"
#: pcbnew/editpads.cpp:389
msgid "Incorrect value for pad drill: pad drill bigger than pad size"
msgstr "Valeur incorrecte pour diametre de perage.percage plus grand que la taille du pad"
#: pcbnew/editpads.cpp:395
msgid "Incorrect value for pad offset"
msgstr "Valeur incorrecte pour offset du pad"
#: pcbnew/export_gencad.cpp:69
msgid "GenCAD file:"
msgstr "Fichier GenCAD:"
#: pcbnew/class_pcb_text.cpp:173
#: gerbview/affiche.cpp:29 #: gerbview/affiche.cpp:29
msgid "COTATION" msgid "COTATION"
msgstr "COTATION" msgstr "COTATION"
#: pcbnew/class_pcb_text.cpp:196 #: pcbnew/class_pcb_text.cpp:175
#: gerbview/affiche.cpp:32 #: gerbview/affiche.cpp:32
msgid "PCB Text" msgid "PCB Text"
msgstr "Texte Pcb" msgstr "Texte Pcb"
...@@ -1910,9 +2122,9 @@ msgid "Keep" ...@@ -1910,9 +2122,9 @@ msgid "Keep"
msgstr "Garder" msgstr "Garder"
#: pcbnew/dialog_netlist.cpp:143 #: pcbnew/dialog_netlist.cpp:143
#: pcbnew/onrightclick.cpp:589 #: pcbnew/onrightclick.cpp:599
#: pcbnew/onrightclick.cpp:754 #: pcbnew/onrightclick.cpp:764
#: pcbnew/onrightclick.cpp:851 #: pcbnew/onrightclick.cpp:861
#: eeschema/edit_component_in_lib.cpp:239 #: eeschema/edit_component_in_lib.cpp:239
#: eeschema/edit_component_in_lib.cpp:320 #: eeschema/edit_component_in_lib.cpp:320
msgid "Delete" msgid "Delete"
...@@ -2043,9 +2255,31 @@ msgstr "Invisible" ...@@ -2043,9 +2255,31 @@ msgstr "Invisible"
msgid "Value:" msgid "Value:"
msgstr "Valeur:" msgstr "Valeur:"
#: pcbnew/export_gencad.cpp:69 #: pcbnew/class_pad.cpp:801
msgid "GenCAD file:" #: pcbnew/class_pad.cpp:887
msgstr "Fichier GenCAD:" msgid "Unknown Pad shape"
msgstr "Forme pad inconnue"
#: pcbnew/class_pad.cpp:976
msgid "RefP"
msgstr "RefP"
#: pcbnew/class_pad.cpp:979
#: pcbnew/class_board_item.cpp:35
msgid "Net"
msgstr "Net"
#: pcbnew/class_pad.cpp:1093
msgid "Drill X / Y"
msgstr "Perage X/Y"
#: pcbnew/class_pad.cpp:1108
msgid "X Pos"
msgstr "X Pos"
#: pcbnew/class_pad.cpp:1112
msgid "Y pos"
msgstr "Y pos"
#: pcbnew/modedit.cpp:77 #: pcbnew/modedit.cpp:77
#: pcbnew/controle.cpp:172 #: pcbnew/controle.cpp:172
...@@ -2086,7 +2320,7 @@ msgid "Add Drawing" ...@@ -2086,7 +2320,7 @@ msgid "Add Drawing"
msgstr "Ajout d'lments graphiques" msgstr "Ajout d'lments graphiques"
#: pcbnew/modedit.cpp:424 #: pcbnew/modedit.cpp:424
#: pcbnew/edit.cpp:518 #: pcbnew/edit.cpp:519
#: eeschema/schedit.cpp:455 #: eeschema/schedit.cpp:455
#: eeschema/libframe.cpp:579 #: eeschema/libframe.cpp:579
msgid "Delete item" msgid "Delete item"
...@@ -2144,8 +2378,8 @@ msgid "Delete Block (shift+ctrl + drag mouse)" ...@@ -2144,8 +2378,8 @@ msgid "Delete Block (shift+ctrl + drag mouse)"
msgstr "Effacement Bloc (shift+ctrl + drag mouse)" msgstr "Effacement Bloc (shift+ctrl + drag mouse)"
#: pcbnew/modedit_onclick.cpp:252 #: pcbnew/modedit_onclick.cpp:252
#: pcbnew/onrightclick.cpp:748 #: pcbnew/onrightclick.cpp:758
#: pcbnew/onrightclick.cpp:845 #: pcbnew/onrightclick.cpp:855
msgid "Rotate" msgid "Rotate"
msgstr "Rotation" msgstr "Rotation"
...@@ -2170,17 +2404,17 @@ msgid "Move Pad" ...@@ -2170,17 +2404,17 @@ msgid "Move Pad"
msgstr "Dplace Pad" msgstr "Dplace Pad"
#: pcbnew/modedit_onclick.cpp:274 #: pcbnew/modedit_onclick.cpp:274
#: pcbnew/onrightclick.cpp:787 #: pcbnew/onrightclick.cpp:797
msgid "Edit Pad" msgid "Edit Pad"
msgstr "Edit Pad" msgstr "Edit Pad"
#: pcbnew/modedit_onclick.cpp:276 #: pcbnew/modedit_onclick.cpp:276
#: pcbnew/onrightclick.cpp:791 #: pcbnew/onrightclick.cpp:801
msgid "New Pad Settings" msgid "New Pad Settings"
msgstr "Nouvelles Caract. Pads" msgstr "Nouvelles Caract. Pads"
#: pcbnew/modedit_onclick.cpp:278 #: pcbnew/modedit_onclick.cpp:278
#: pcbnew/onrightclick.cpp:793 #: pcbnew/onrightclick.cpp:803
msgid "Export Pad Settings" msgid "Export Pad Settings"
msgstr "Exporte Caract. Pads" msgstr "Exporte Caract. Pads"
...@@ -2189,7 +2423,7 @@ msgid "delete Pad" ...@@ -2189,7 +2423,7 @@ msgid "delete Pad"
msgstr "Supprimer Pad" msgstr "Supprimer Pad"
#: pcbnew/modedit_onclick.cpp:285 #: pcbnew/modedit_onclick.cpp:285
#: pcbnew/onrightclick.cpp:798 #: pcbnew/onrightclick.cpp:808
msgid "Global Pad Settings" msgid "Global Pad Settings"
msgstr "Edition Globale des pads" msgstr "Edition Globale des pads"
...@@ -2222,9 +2456,9 @@ msgid "Place edge" ...@@ -2222,9 +2456,9 @@ msgid "Place edge"
msgstr "Place contour" msgstr "Place contour"
#: pcbnew/modedit_onclick.cpp:317 #: pcbnew/modedit_onclick.cpp:317
#: pcbnew/onrightclick.cpp:716 #: pcbnew/onrightclick.cpp:726
#: pcbnew/onrightclick.cpp:750 #: pcbnew/onrightclick.cpp:760
#: pcbnew/onrightclick.cpp:847 #: pcbnew/onrightclick.cpp:857
#: eeschema/onrightclick.cpp:313 #: eeschema/onrightclick.cpp:313
msgid "Edit" msgid "Edit"
msgstr "Editer" msgstr "Editer"
...@@ -2253,84 +2487,37 @@ msgstr "Effacement contour" ...@@ -2253,84 +2487,37 @@ msgstr "Effacement contour"
msgid "Set Width" msgid "Set Width"
msgstr "Ajuste Epaiss" msgstr "Ajuste Epaiss"
#: pcbnew/class_pad.cpp:801 #: pcbnew/plotps.cpp:361
#: pcbnew/class_pad.cpp:887 #: pcbnew/affiche.cpp:63
msgid "Unknown Pad shape" #: pcbnew/class_board.cpp:406
msgstr "Forme pad inconnue" msgid "Vias"
msgstr "Vias"
#: pcbnew/class_pad.cpp:976
msgid "RefP"
msgstr "RefP"
#: pcbnew/class_pad.cpp:979
#: pcbnew/class_board_item.cpp:35
msgid "Net"
msgstr "Net"
#: pcbnew/class_pad.cpp:1093
msgid "Drill X / Y"
msgstr "Perage X/Y"
#: pcbnew/class_pad.cpp:1108
msgid "X Pos"
msgstr "X Pos"
#: pcbnew/class_pad.cpp:1112 #: pcbnew/plotps.cpp:390
msgid "Y pos" msgid "Tracks"
msgstr "Y pos" msgstr "Pistes"
#: pcbnew/classpcb.cpp:196 #: pcbnew/classpcb.cpp:175
msgid "Shape" msgid "Shape"
msgstr "Forme" msgstr "Forme"
#: pcbnew/classpcb.cpp:199 #: pcbnew/classpcb.cpp:182
#: pcbnew/class_board_item.cpp:107
#: pcbnew/class_track.cpp:776
#: pcbnew/dialog_pad_edit.cpp:176
#: pcbnew/dialog_pad_edit.cpp:196
msgid "Circle"
msgstr "Cercle"
#: pcbnew/classpcb.cpp:203
msgid " Arc " msgid " Arc "
msgstr " Arc " msgstr " Arc "
#: pcbnew/classpcb.cpp:208 #: pcbnew/classpcb.cpp:187
#: pcbnew/class_track.cpp:774 #: pcbnew/class_track.cpp:747
msgid "Segment" msgid "Segment"
msgstr "Segment" msgstr "Segment"
#: pcbnew/editpads.cpp:77 #: pcbnew/plotgerb.cpp:72
msgid "Pad Position" msgid "unable to create file "
msgstr "Position Pad" msgstr "Impossible de crer fichier "
#: pcbnew/editpads.cpp:84
msgid "Pad Size"
msgstr "Taille Pad"
#: pcbnew/editpads.cpp:91
msgid "Delta"
msgstr "Delta"
#: pcbnew/editpads.cpp:98
msgid "Offset"
msgstr "Offset"
#: pcbnew/editpads.cpp:107
msgid "Pad Drill"
msgstr "Diam perage"
#: pcbnew/editpads.cpp:119
msgid "Pad Orient (0.1 deg)"
msgstr "Orient Pad (0.1 deg)"
#: pcbnew/editpads.cpp:389
msgid "Incorrect value for pad drill: pad drill bigger than pad size"
msgstr "Valeur incorrecte pour diametre de perage.percage plus grand que la taille du pad"
#: pcbnew/editpads.cpp:395 #: pcbnew/plotgerb.cpp:817
msgid "Incorrect value for pad offset" #, c-format
msgstr "Valeur incorrecte pour offset du pad" msgid "unable to reopen file <%s>"
msgstr "Ne peut pas rouvrir fichier <%s>"
#: pcbnew/onleftclick.cpp:173 #: pcbnew/onleftclick.cpp:173
msgid "Graphic not authorized on Copper layers" msgid "Graphic not authorized on Copper layers"
...@@ -2344,56 +2531,79 @@ msgstr "Pistes sur couches cuivre seulement" ...@@ -2344,56 +2531,79 @@ msgstr "Pistes sur couches cuivre seulement"
msgid "Cotation not authorized on Copper layers" msgid "Cotation not authorized on Copper layers"
msgstr "Cotation non autorise sur Couches Cuivre" msgstr "Cotation non autorise sur Couches Cuivre"
#: pcbnew/dialog_track_options.cpp:130 #: pcbnew/dialog_track_options.cpp:134
msgid "Vias:"
msgstr "Vias:"
#: pcbnew/dialog_track_options.cpp:138
msgid "Via Size" msgid "Via Size"
msgstr "Diametre Via" msgstr "Diametre Via"
#: pcbnew/dialog_track_options.cpp:136 #: pcbnew/dialog_track_options.cpp:144
msgid "Default Via Drill" msgid "Default Via Drill"
msgstr "Perage vias par dfaut" msgstr "Perage vias par dfaut"
#: pcbnew/dialog_track_options.cpp:142 #: pcbnew/dialog_track_options.cpp:150
msgid "Alternate Via Drill" msgid "Alternate Via Drill"
msgstr "Perage vias alternatif" msgstr "Perage vias alternatif"
#: pcbnew/dialog_track_options.cpp:151 #: pcbnew/dialog_track_options.cpp:157
#: pcbnew/pcbnew.h:289
msgid "Blind Via"
msgstr "Via borgne"
#: pcbnew/dialog_track_options.cpp:152
#: pcbnew/pcbnew.h:290
msgid "Buried Via"
msgstr "Via enterre"
#: pcbnew/dialog_track_options.cpp:153
#: pcbnew/pcbnew.h:291 #: pcbnew/pcbnew.h:291
msgid "Standard Via" msgid "Through Via"
msgstr "Via Standard" msgstr "Via Traversante"
#: pcbnew/dialog_track_options.cpp:158
msgid "Blind or Buried Via "
msgstr "Via enterre ou Aveugle"
#: pcbnew/dialog_track_options.cpp:154 #: pcbnew/dialog_track_options.cpp:159
msgid "Via Type" msgid "Default Via Type"
msgstr "Type de Via" msgstr "Via par Dfaut"
#: pcbnew/dialog_track_options.cpp:163 #: pcbnew/dialog_track_options.cpp:163
msgid "Micro Vias:"
msgstr "Micro Vias:"
#: pcbnew/dialog_track_options.cpp:167
msgid "Micro Via Size"
msgstr "Diametre Micro Via"
#: pcbnew/dialog_track_options.cpp:173
msgid "Micro Via Drill"
msgstr "Perage Micro Via"
#: pcbnew/dialog_track_options.cpp:181
msgid "Allows Micro Vias"
msgstr "Autorise Micro Vias"
#: pcbnew/dialog_track_options.cpp:183
#: pcbnew/dialog_track_options.cpp:185
msgid ""
"Allows use of micro vias\n"
"They are very small vias only from an external copper layer to its near neightbour\n"
msgstr ""
"Autorise l'utilisation de micro vias\n"
"Ce sont de petites vias allant d'une couche externe a la plus proche couche interne uniquement\n"
#: pcbnew/dialog_track_options.cpp:191
msgid "Track Width" msgid "Track Width"
msgstr "Epais. Piste" msgstr "Epais. Piste"
#: pcbnew/dialog_track_options.cpp:169 #: pcbnew/dialog_track_options.cpp:197
#: pcbnew/dialog_drc.cpp:439 #: pcbnew/dialog_drc.cpp:439
msgid "Clearance" msgid "Clearance"
msgstr "Isolation" msgstr "Isolation"
#: pcbnew/dialog_track_options.cpp:175 #: pcbnew/dialog_track_options.cpp:203
msgid "Mask clearance" msgid "Mask clearance"
msgstr "Retrait Masque" msgstr "Retrait Masque"
#: pcbnew/dialog_track_options.cpp:262 #: pcbnew/dialog_track_options.cpp:303
msgid "" msgid ""
"You have selected VIA Blind or VIA Buried\n" "You have selected VIA Blind and Buried\n"
"WARNING: this feature is EXPERIMENTAL!!! Accept ?" "WARNING: this feature is EXPERIMENTAL!!! Accept ?"
msgstr "" msgstr ""
"Vous avez slectionn VIA borgne ou VIA enterre\n" "Vous avez slectionn VIA borgne et enterre\n"
"ATTENTION: Cette possibilit est EXPERIMENTALE!!! Accepter ?" "ATTENTION: Cette possibilit est EXPERIMENTALE!!! Accepter ?"
#: pcbnew/dialog_display_options.cpp:186 #: pcbnew/dialog_display_options.cpp:186
...@@ -2565,7 +2775,7 @@ msgid "Footprint name:" ...@@ -2565,7 +2775,7 @@ msgid "Footprint name:"
msgstr "Nom Module: " msgstr "Nom Module: "
#: pcbnew/modules.cpp:281 #: pcbnew/modules.cpp:281
#: pcbnew/onrightclick.cpp:722 #: pcbnew/onrightclick.cpp:732
msgid "Delete Module" msgid "Delete Module"
msgstr "Supprimer Module" msgstr "Supprimer Module"
...@@ -3059,7 +3269,7 @@ msgid "Drag Via" ...@@ -3059,7 +3269,7 @@ msgid "Drag Via"
msgstr "Drag Via" msgstr "Drag Via"
#: pcbnew/onrightclick.cpp:505 #: pcbnew/onrightclick.cpp:505
#: pcbnew/onrightclick.cpp:569 #: pcbnew/onrightclick.cpp:579
msgid "Edit Via" msgid "Edit Via"
msgstr "Edit Via" msgstr "Edit Via"
...@@ -3119,330 +3329,215 @@ msgstr "Terminer Piste" ...@@ -3119,330 +3329,215 @@ msgstr "Terminer Piste"
msgid "Place Via" msgid "Place Via"
msgstr "Place Via" msgstr "Place Via"
#: pcbnew/onrightclick.cpp:567 #: pcbnew/onrightclick.cpp:568
msgid "Place Micro Via"
msgstr "Place Micro Via"
#: pcbnew/onrightclick.cpp:577
msgid "Change Width" msgid "Change Width"
msgstr "Change Largeur" msgstr "Change Largeur"
#: pcbnew/onrightclick.cpp:570 #: pcbnew/onrightclick.cpp:580
msgid "Edit Segment" msgid "Edit Segment"
msgstr "Edit Segment" msgstr "Edit Segment"
#: pcbnew/onrightclick.cpp:575 #: pcbnew/onrightclick.cpp:585
msgid "Edit Track" msgid "Edit Track"
msgstr "Editer Piste" msgstr "Editer Piste"
#: pcbnew/onrightclick.cpp:577 #: pcbnew/onrightclick.cpp:587
msgid "Edit Net" msgid "Edit Net"
msgstr "Edit Net" msgstr "Edit Net"
#: pcbnew/onrightclick.cpp:579 #: pcbnew/onrightclick.cpp:589
msgid "Edit ALL Tracks and Vias" msgid "Edit ALL Tracks and Vias"
msgstr "Editer TOUTES Pistes et Vias" msgstr "Editer TOUTES Pistes et Vias"
#: pcbnew/onrightclick.cpp:581 #: pcbnew/onrightclick.cpp:591
msgid "Edit ALL Vias (no track)" msgid "Edit ALL Vias (no track)"
msgstr "Editer TOUTES Vias (pas les pistes)" msgstr "Editer TOUTES Vias (pas les pistes)"
#: pcbnew/onrightclick.cpp:583 #: pcbnew/onrightclick.cpp:593
msgid "Edit ALL Tracks (no via)" msgid "Edit ALL Tracks (no via)"
msgstr "Editer TOUTES Pistes (pas les vias)" msgstr "Editer TOUTES Pistes (pas les vias)"
#: pcbnew/onrightclick.cpp:591 #: pcbnew/onrightclick.cpp:601
msgid "Delete Via" msgid "Delete Via"
msgstr "Suppression Via" msgstr "Suppression Via"
#: pcbnew/onrightclick.cpp:591 #: pcbnew/onrightclick.cpp:601
msgid "Delete Segment" msgid "Delete Segment"
msgstr "SupprimerSegment" msgstr "SupprimerSegment"
#: pcbnew/onrightclick.cpp:598 #: pcbnew/onrightclick.cpp:608
msgid "Delete Track" msgid "Delete Track"
msgstr "Effacer Piste" msgstr "Effacer Piste"
#: pcbnew/onrightclick.cpp:602 #: pcbnew/onrightclick.cpp:612
msgid "Delete Net" msgid "Delete Net"
msgstr "Supprimer Net" msgstr "Supprimer Net"
#: pcbnew/onrightclick.cpp:607 #: pcbnew/onrightclick.cpp:617
msgid "Set Flags" msgid "Set Flags"
msgstr "Ajust. Flags" msgstr "Ajust. Flags"
#: pcbnew/onrightclick.cpp:608 #: pcbnew/onrightclick.cpp:618
msgid "Locked: Yes" msgid "Locked: Yes"
msgstr "Verrou: Oui" msgstr "Verrou: Oui"
#: pcbnew/onrightclick.cpp:609 #: pcbnew/onrightclick.cpp:619
msgid "Locked: No" msgid "Locked: No"
msgstr "Verrou: Non" msgstr "Verrou: Non"
#: pcbnew/onrightclick.cpp:619 #: pcbnew/onrightclick.cpp:629
msgid "Track Locked: Yes" msgid "Track Locked: Yes"
msgstr "Piste verrouille: Oui" msgstr "Piste verrouille: Oui"
#: pcbnew/onrightclick.cpp:620 #: pcbnew/onrightclick.cpp:630
msgid "Track Locked: No" msgid "Track Locked: No"
msgstr "Piste verrouille: Non" msgstr "Piste verrouille: Non"
#: pcbnew/onrightclick.cpp:622 #: pcbnew/onrightclick.cpp:632
msgid "Net Locked: Yes" msgid "Net Locked: Yes"
msgstr "Net verrouill: Oui" msgstr "Net verrouill: Oui"
#: pcbnew/onrightclick.cpp:623 #: pcbnew/onrightclick.cpp:633
msgid "Net Locked: No" msgid "Net Locked: No"
msgstr "Net verrouill: Non" msgstr "Net verrouill: Non"
#: pcbnew/onrightclick.cpp:638 #: pcbnew/onrightclick.cpp:648
msgid "Place Corner" msgid "Place Corner"
msgstr "Place Sommet" msgstr "Place Sommet"
#: pcbnew/onrightclick.cpp:648 #: pcbnew/onrightclick.cpp:654
#: pcbnew/dialog_drc.cpp:477
msgid "Zones"
msgstr "Zones"
#: pcbnew/onrightclick.cpp:659
msgid "Move Corner" msgid "Move Corner"
msgstr "Dplace Sommet" msgstr "Dplace Sommet"
#: pcbnew/onrightclick.cpp:650 #: pcbnew/onrightclick.cpp:661
msgid "Delete Corner" msgid "Delete Corner"
msgstr "Supprimer Sommet" msgstr "Supprimer Sommet"
#: pcbnew/onrightclick.cpp:656 #: pcbnew/onrightclick.cpp:666
msgid "Create Corner" msgid "Create Corner"
msgstr "Crer Sommet" msgstr "Crer Sommet"
#: pcbnew/onrightclick.cpp:661 #: pcbnew/onrightclick.cpp:671
msgid "Add Similar Zone" msgid "Add Similar Zone"
msgstr "Addition d'une Zone Semblable" msgstr "Addition d'une Zone Semblable"
#: pcbnew/onrightclick.cpp:664 #: pcbnew/onrightclick.cpp:674
msgid "Add Cutout Area" msgid "Add Cutout Area"
msgstr "Addition d'une Zone Interdite" msgstr "Addition d'une Zone Interdite"
#: pcbnew/onrightclick.cpp:668 #: pcbnew/onrightclick.cpp:678
msgid "Fill Zone" msgid "Fill Zone"
msgstr "Remplir Zone" msgstr "Remplir Zone"
#: pcbnew/onrightclick.cpp:671 #: pcbnew/onrightclick.cpp:681
msgid "Edit Zone Params" msgid "Edit Zone Params"
msgstr "Editer Paramtres de la Zone" msgstr "Editer Paramtres de la Zone"
#: pcbnew/onrightclick.cpp:675 #: pcbnew/onrightclick.cpp:685
msgid "Delete Cutout" msgid "Delete Cutout"
msgstr "Supprimer Zone Interdite" msgstr "Supprimer Zone Interdite"
#: pcbnew/onrightclick.cpp:678 #: pcbnew/onrightclick.cpp:688
msgid "Delete Zone Outline" msgid "Delete Zone Outline"
msgstr "Supprimer Contour de Zone" msgstr "Supprimer Contour de Zone"
#: pcbnew/onrightclick.cpp:700 #: pcbnew/onrightclick.cpp:710
#: pcbnew/onrightclick.cpp:745 #: pcbnew/onrightclick.cpp:755
#: pcbnew/onrightclick.cpp:783 #: pcbnew/onrightclick.cpp:793
#: pcbnew/onrightclick.cpp:842 #: pcbnew/onrightclick.cpp:852
msgid "Move" msgid "Move"
msgstr "Move" msgstr "Move"
#: pcbnew/onrightclick.cpp:703 #: pcbnew/onrightclick.cpp:713
#: pcbnew/onrightclick.cpp:785 #: pcbnew/onrightclick.cpp:795
msgid "Drag" msgid "Drag"
msgstr "Drag" msgstr "Drag"
#: pcbnew/onrightclick.cpp:707 #: pcbnew/onrightclick.cpp:717
msgid "Rotate +" msgid "Rotate +"
msgstr "Rotation +" msgstr "Rotation +"
#: pcbnew/onrightclick.cpp:711 #: pcbnew/onrightclick.cpp:721
#: eeschema/onrightclick.cpp:301 #: eeschema/onrightclick.cpp:301
msgid "Rotate -" msgid "Rotate -"
msgstr "Rotation -" msgstr "Rotation -"
#: pcbnew/onrightclick.cpp:712 #: pcbnew/onrightclick.cpp:722
msgid "Flip" msgid "Flip"
msgstr "Change ct" msgstr "Change ct"
#: pcbnew/onrightclick.cpp:802 #: pcbnew/onrightclick.cpp:812
msgid "delete" msgid "delete"
msgstr "Effacer" msgstr "Effacer"
#: pcbnew/onrightclick.cpp:809 #: pcbnew/onrightclick.cpp:819
msgid "Autoroute Pad" msgid "Autoroute Pad"
msgstr "Autoroute Pad" msgstr "Autoroute Pad"
#: pcbnew/onrightclick.cpp:810 #: pcbnew/onrightclick.cpp:820
msgid "Autoroute Net" msgid "Autoroute Net"
msgstr "Autoroute Net" msgstr "Autoroute Net"
#: pcbnew/block.cpp:125 #: pcbnew/block.cpp:122
msgid "Include Modules" msgid "Include Modules"
msgstr "Inclure Modules" msgstr "Inclure Modules"
#: pcbnew/block.cpp:129 #: pcbnew/block.cpp:126
msgid "Include tracks" msgid "Include tracks"
msgstr "Inclure Pistes" msgstr "Inclure Pistes"
#: pcbnew/block.cpp:133 #: pcbnew/block.cpp:130
msgid "Include zones" msgid "Include zones"
msgstr "Inclure zones" msgstr "Inclure zones"
#: pcbnew/block.cpp:138 #: pcbnew/block.cpp:135
msgid "Include Text on copper layers" msgid "Include Text on copper layers"
msgstr "Inclure Texte sur couches cuivre" msgstr "Inclure Texte sur couches cuivre"
#: pcbnew/block.cpp:142 #: pcbnew/block.cpp:139
msgid "Include drawings" msgid "Include drawings"
msgstr "Inclure tracs" msgstr "Inclure tracs"
#: pcbnew/block.cpp:146 #: pcbnew/block.cpp:143
msgid "Include egde layer" msgid "Include egde layer"
msgstr "Inclure couche Edge" msgstr "Inclure couche Edge"
#: pcbnew/block.cpp:453 #: pcbnew/block.cpp:450
msgid "Delete Block" msgid "Delete Block"
msgstr "Effacer Bloc" msgstr "Effacer Bloc"
#: pcbnew/block.cpp:464 #: pcbnew/block.cpp:559
msgid "Delete Footprints"
msgstr "Suppression modules"
#: pcbnew/block.cpp:484
msgid "Delete tracks"
msgstr "Suppression Pistes"
#: pcbnew/block.cpp:505
msgid "Delete draw layers"
msgstr "Suppression couches sessin"
#: pcbnew/block.cpp:570
msgid "Delete zones" msgid "Delete zones"
msgstr "SuppressionZones" msgstr "SuppressionZones"
#: pcbnew/block.cpp:605 #: pcbnew/block.cpp:601
msgid "Rotate Block" msgid "Rotate Block"
msgstr "Rotation Bloc" msgstr "Rotation Bloc"
#: pcbnew/block.cpp:620
msgid "Footprint rotation"
msgstr "Rotation modules"
#: pcbnew/block.cpp:654
msgid "Track rotation"
msgstr "Rotation pistes"
#: pcbnew/block.cpp:675
msgid "Zone rotation"
msgstr "Rotation Zones"
#: pcbnew/block.cpp:696
msgid "Draw layers rotation"
msgstr "Rotation couches dessin"
#: pcbnew/block.cpp:815
msgid "Block mirroring"
msgstr "Bloc Miroir"
#: pcbnew/block.cpp:830
msgid "Footprint mirroring"
msgstr "Miroir modules"
#: pcbnew/block.cpp:863
msgid "Track mirroring"
msgstr "Miroir Pistes"
#: pcbnew/block.cpp:889
msgid "Zone mirroring"
msgstr "Miroir zone"
#: pcbnew/block.cpp:911
msgid "Draw layers mirroring"
msgstr "Draw layers mirroring"
#: pcbnew/block.cpp:1038
msgid "Move Block"
msgstr "Dplacer Bloc"
#: pcbnew/block.cpp:1050
msgid "Move footprints"
msgstr "Dplacement modules"
#: pcbnew/block.cpp:1083
msgid "Move tracks"
msgstr "Dplacement pistes"
#: pcbnew/block.cpp:1104
msgid "Move zones"
msgstr "Dplacement zones"
#: pcbnew/block.cpp:1125
msgid "Move draw layers"
msgstr "Dplacement couches dessin"
#: pcbnew/block.cpp:1230
msgid "Copy Block"
msgstr "Copie Bloc"
#: pcbnew/block.cpp:1242
msgid "Module copy"
msgstr "Copie Modules"
#: pcbnew/block.cpp:1281
msgid "Track copy"
msgstr "Copie Piste"
#: pcbnew/block.cpp:1305
msgid "Zone copy"
msgstr "Copie Zone"
#: pcbnew/block.cpp:1330
msgid "Draw layers copy"
msgstr "Cpoie des couches dessin"
#: pcbnew/globaleditpad.cpp:76
msgid "Pads Global Edit"
msgstr "Pads: Edition globale"
#: pcbnew/globaleditpad.cpp:94
msgid "Pad Settings..."
msgstr "Caract pad ..."
#: pcbnew/globaleditpad.cpp:99
msgid "Change Module"
msgstr "Change module"
#: pcbnew/globaleditpad.cpp:104
msgid "Change Id Modules"
msgstr "Change Modules ident."
#: pcbnew/globaleditpad.cpp:114
msgid "Pad Filter :"
msgstr "Filtre Pad :"
#: pcbnew/globaleditpad.cpp:118
msgid "Shape Filter"
msgstr "Filtre sur forme"
#: pcbnew/globaleditpad.cpp:122
msgid "Layer Filter"
msgstr "Filtre sur couche"
#: pcbnew/globaleditpad.cpp:126
msgid "Orient Filter"
msgstr "Filtre Orientation"
#: pcbnew/globaleditpad.cpp:132
msgid "Change Items :"
msgstr "Elments changer:"
#: pcbnew/globaleditpad.cpp:136
msgid "Change Size"
msgstr "Change Taille"
#: pcbnew/globaleditpad.cpp:140 #: pcbnew/block.cpp:658
msgid "Change Shape" msgid "Zone rotation"
msgstr "Change Forme" msgstr "Rotation Zones"
#: pcbnew/globaleditpad.cpp:144 #: pcbnew/block.cpp:766
msgid "Change Drill" msgid "Block mirroring"
msgstr "Change Perage" msgstr "Bloc Miroir"
#: pcbnew/globaleditpad.cpp:148 #: pcbnew/block.cpp:954
msgid "Change Orient" msgid "Move Block"
msgstr "Change Orientation" msgstr "Dplacer Bloc"
#: pcbnew/block.cpp:1109
msgid "Copy Block"
msgstr "Copie Bloc"
#: pcbnew/edit.cpp:171 #: pcbnew/edit.cpp:171
#: pcbnew/editmod.cpp:45 #: pcbnew/editmod.cpp:45
...@@ -3489,15 +3584,21 @@ msgstr "Surbrillance des ...@@ -3489,15 +3584,21 @@ msgstr "Surbrillance des
msgid "Local Ratsnest" msgid "Local Ratsnest"
msgstr "Monter le chevelu gnral" msgstr "Monter le chevelu gnral"
#: pcbnew/plotps.cpp:361 #: pcbnew/router.cpp:60
#: pcbnew/affiche.cpp:63 msgid "Unable to create temporary file "
#: pcbnew/class_board.cpp:400 msgstr "Impossible de crer le fichier temporaire "
msgid "Vias"
msgstr "Vias"
#: pcbnew/plotps.cpp:390 #: pcbnew/router.cpp:65
msgid "Tracks" msgid "Create temporary file "
msgstr "Pistes" msgstr "Creation fichier temporaire "
#: pcbnew/router.cpp:566
msgid "Unable to find data file "
msgstr "Impossible de trouver le fichier de donnes "
#: pcbnew/router.cpp:572
msgid "Reading autorouter data file "
msgstr "Lecture fichier donnes de l'autorouteur"
#: pcbnew/netlist.cpp:96 #: pcbnew/netlist.cpp:96
#, c-format #, c-format
...@@ -3615,11 +3716,11 @@ msgstr "Pcb Graphic" ...@@ -3615,11 +3716,11 @@ msgstr "Pcb Graphic"
#: pcbnew/class_board_item.cpp:59 #: pcbnew/class_board_item.cpp:59
#: pcbnew/class_board_item.cpp:68 #: pcbnew/class_board_item.cpp:68
#: pcbnew/class_board_item.cpp:145 #: pcbnew/class_board_item.cpp:145
#: pcbnew/class_board_item.cpp:169 #: pcbnew/class_board_item.cpp:177
#: pcbnew/class_board_item.cpp:185 #: pcbnew/class_board_item.cpp:193
#: pcbnew/class_board_item.cpp:212 #: pcbnew/class_board_item.cpp:220
#: pcbnew/class_board_item.cpp:229 #: pcbnew/class_board_item.cpp:237
#: pcbnew/class_board_item.cpp:235 #: pcbnew/class_board_item.cpp:243
msgid " on " msgid " on "
msgstr " sur " msgstr " sur "
...@@ -3637,23 +3738,18 @@ msgstr " de " ...@@ -3637,23 +3738,18 @@ msgstr " de "
msgid "Graphic" msgid "Graphic"
msgstr "Graphique" msgstr "Graphique"
#: pcbnew/class_board_item.cpp:101
#: pcbnew/dialog_pad_edit.cpp:198
msgid "Rect"
msgstr "Rect"
#: pcbnew/class_board_item.cpp:104 #: pcbnew/class_board_item.cpp:104
msgid "Arc" msgid "Arc"
msgstr "Arc" msgstr "Arc"
#: pcbnew/class_board_item.cpp:139 #: pcbnew/class_board_item.cpp:139
#: pcbnew/pcbframe.cpp:447 #: pcbnew/pcbframe.cpp:447
#: pcbnew/class_track.cpp:739 #: pcbnew/class_track.cpp:712
msgid "Track" msgid "Track"
msgstr "Piste" msgstr "Piste"
#: pcbnew/class_board_item.cpp:146 #: pcbnew/class_board_item.cpp:146
#: pcbnew/dialog_zones_by_polygon.cpp:220 #: pcbnew/dialog_zones_by_polygon.cpp:228
msgid "Net:" msgid "Net:"
msgstr "Net:" msgstr "Net:"
...@@ -3662,51 +3758,57 @@ msgid "Length:" ...@@ -3662,51 +3758,57 @@ msgid "Length:"
msgstr "Long.:" msgstr "Long.:"
#: pcbnew/class_board_item.cpp:152 #: pcbnew/class_board_item.cpp:152
#: pcbnew/class_zone.cpp:416 #: pcbnew/class_zone.cpp:448
msgid "Zone Outline" msgid "Zone Outline"
msgstr "Contour de Zone" msgstr "Contour de Zone"
#: pcbnew/class_board_item.cpp:156 #: pcbnew/class_board_item.cpp:156
#: pcbnew/class_zone.cpp:419 #: pcbnew/class_zone.cpp:451
msgid "(Cutout)" msgid "(Cutout)"
msgstr "(Cutout)" msgstr "(Cutout)"
#: pcbnew/class_board_item.cpp:173 #: pcbnew/class_board_item.cpp:175
#: pcbnew/class_track.cpp:743 #: pcbnew/class_zone.cpp:471
msgid "Not Found"
msgstr " Non Trouv"
#: pcbnew/class_board_item.cpp:181
#: pcbnew/class_track.cpp:716
msgid "Zone" msgid "Zone"
msgstr "Zone" msgstr "Zone"
#: pcbnew/class_board_item.cpp:191 #: pcbnew/class_board_item.cpp:199
#: pcbnew/pcbframe.cpp:479 #: pcbnew/pcbframe.cpp:479
msgid "Via" msgid "Via"
msgstr "Via" msgstr "Via"
#: pcbnew/class_board_item.cpp:195 #: pcbnew/class_board_item.cpp:203
msgid "Blind" msgid "Blind/Buried"
msgstr "Enterre" msgstr "Borgne/Aveugle"
#: pcbnew/class_board_item.cpp:197 #: pcbnew/class_board_item.cpp:205
msgid "Buried" #: pcbnew/pcbnew.h:289
msgstr "Borgne" msgid "Micro Via"
msgstr "Micro Via"
#: pcbnew/class_board_item.cpp:219 #: pcbnew/class_board_item.cpp:227
#: pcbnew/class_marker.cpp:112 #: pcbnew/class_marker.cpp:112
msgid "Marker" msgid "Marker"
msgstr "Marqueur" msgstr "Marqueur"
#: pcbnew/class_board_item.cpp:224 #: pcbnew/class_board_item.cpp:232
msgid "Dimension" msgid "Dimension"
msgstr "Dimension" msgstr "Dimension"
#: pcbnew/class_board_item.cpp:229 #: pcbnew/class_board_item.cpp:237
msgid "Target" msgid "Target"
msgstr "Mire" msgstr "Mire"
#: pcbnew/class_board_item.cpp:230 #: pcbnew/class_board_item.cpp:238
msgid "size" msgid "size"
msgstr "dimension" msgstr "dimension"
#: pcbnew/class_board_item.cpp:235 #: pcbnew/class_board_item.cpp:243
msgid "Edge Zone" msgid "Edge Zone"
msgstr "Contour Zone" msgstr "Contour Zone"
...@@ -3722,15 +3824,6 @@ msgstr "Type Err" ...@@ -3722,15 +3824,6 @@ msgstr "Type Err"
msgid "Pcbnew is already running, Continue?" msgid "Pcbnew is already running, Continue?"
msgstr "Pcbnew est est cours d'excution. Continuer ?" msgstr "Pcbnew est est cours d'excution. Continuer ?"
#: pcbnew/plotgerb.cpp:72
msgid "unable to create file "
msgstr "Impossible de crer fichier "
#: pcbnew/plotgerb.cpp:817
#, c-format
msgid "unable to reopen file <%s>"
msgstr "Ne peut pas rouvrir fichier <%s>"
#: pcbnew/pcbframe.cpp:266 #: pcbnew/pcbframe.cpp:266
msgid "Board modified, Save before exit ?" msgid "Board modified, Save before exit ?"
msgstr "Circuit Imprim modifie, Sauver avant de quitter ?" msgstr "Circuit Imprim modifie, Sauver avant de quitter ?"
...@@ -3832,27 +3925,11 @@ msgid "Dimension properties" ...@@ -3832,27 +3925,11 @@ msgid "Dimension properties"
msgstr "Proprits des Cotes" msgstr "Proprits des Cotes"
#: pcbnew/cotation.cpp:133 #: pcbnew/cotation.cpp:133
#: pcbnew/dialog_zones_by_polygon.cpp:227 #: pcbnew/dialog_zones_by_polygon.cpp:235
#: gerbview/affiche.cpp:37 #: gerbview/affiche.cpp:37
msgid "Layer:" msgid "Layer:"
msgstr "Couche:" msgstr "Couche:"
#: pcbnew/router.cpp:60
msgid "Unable to create temporary file "
msgstr "Impossible de crer le fichier temporaire "
#: pcbnew/router.cpp:65
msgid "Create temporary file "
msgstr "Creation fichier temporaire "
#: pcbnew/router.cpp:566
msgid "Unable to find data file "
msgstr "Impossible de trouver le fichier de donnes "
#: pcbnew/router.cpp:572
msgid "Reading autorouter data file "
msgstr "Lecture fichier donnes de l'autorouteur"
#: pcbnew/editrack-part2.cpp:32 #: pcbnew/editrack-part2.cpp:32
#, c-format #, c-format
msgid "Track Width: %s Vias Size : %s" msgid "Track Width: %s Vias Size : %s"
...@@ -3876,33 +3953,28 @@ msgstr "Net Code" ...@@ -3876,33 +3953,28 @@ msgstr "Net Code"
#: pcbnew/affiche.cpp:52 #: pcbnew/affiche.cpp:52
#: pcbnew/class_module.cpp:1228 #: pcbnew/class_module.cpp:1228
#: pcbnew/class_board.cpp:390 #: pcbnew/class_board.cpp:396
msgid "Pads" msgid "Pads"
msgstr "Pads" msgstr "Pads"
#: pcbnew/class_track.cpp:765 #: pcbnew/class_track.cpp:738
#: pcbnew/zones.cpp:873 #: pcbnew/zones.cpp:873
#: pcbnew/zones_by_polygon.cpp:831 #: pcbnew/zones_by_polygon.cpp:864
#: pcbnew/class_zone.cpp:432 #: pcbnew/class_zone.cpp:474
msgid "NetName" msgid "NetName"
msgstr "NetName" msgstr "NetName"
#: pcbnew/class_track.cpp:770 #: pcbnew/class_track.cpp:743
#: pcbnew/class_zone.cpp:437 #: pcbnew/class_zone.cpp:479
msgid "NetCode" msgid "NetCode"
msgstr "NetCode" msgstr "NetCode"
#: pcbnew/class_track.cpp:778 #: pcbnew/class_track.cpp:763
#: pcbnew/dialog_pad_edit.cpp:205
msgid "Standard"
msgstr "Standard"
#: pcbnew/class_track.cpp:790
#: pcbnew/class_module.cpp:1236 #: pcbnew/class_module.cpp:1236
msgid "Stat" msgid "Stat"
msgstr "Stat" msgstr "Stat"
#: pcbnew/class_track.cpp:814 #: pcbnew/class_track.cpp:787
msgid "Diam" msgid "Diam"
msgstr "Diam" msgstr "Diam"
...@@ -4068,134 +4140,6 @@ msgstr "Pin %s (module %s) non trouv ...@@ -4068,134 +4140,6 @@ msgstr "Pin %s (module %s) non trouv
msgid "Locate Pin %s (module %s)" msgid "Locate Pin %s (module %s)"
msgstr "Pin localise %s (module %s)" msgstr "Pin localise %s (module %s)"
#: pcbnew/dialog_pad_edit.cpp:157
msgid "Pad Num :"
msgstr "Num Pad :"
#: pcbnew/dialog_pad_edit.cpp:163
msgid "Pad Net Name :"
msgstr "NetName Pad:"
#: pcbnew/dialog_pad_edit.cpp:177
#: pcbnew/dialog_pad_edit.cpp:197
msgid "Oval"
msgstr "Ovale"
#: pcbnew/dialog_pad_edit.cpp:178
msgid "Drill Shape:"
msgstr "Forme du perage:"
#: pcbnew/dialog_pad_edit.cpp:186
#: pcbnew/clean.cpp:462
#: eeschema/dialog_erc.cpp:192
#: eeschema/dialog_erc.cpp:196
#: eeschema/dialog_edit_component_in_schematic.cpp:171
msgid "0"
msgstr "0"
#: pcbnew/dialog_pad_edit.cpp:187
msgid "90"
msgstr "90"
#: pcbnew/dialog_pad_edit.cpp:188
#: eeschema/dialog_edit_component_in_schematic.cpp:174
msgid "-90"
msgstr "-90"
#: pcbnew/dialog_pad_edit.cpp:189
#: eeschema/dialog_edit_component_in_schematic.cpp:173
msgid "180"
msgstr "180"
#: pcbnew/dialog_pad_edit.cpp:191
msgid "Pad Orient:"
msgstr "Orient pad:"
#: pcbnew/dialog_pad_edit.cpp:199
msgid "Trapezoidal"
msgstr "Trapezoidal"
#: pcbnew/dialog_pad_edit.cpp:200
msgid "Pad Shape:"
msgstr "Forme Pad:"
#: pcbnew/dialog_pad_edit.cpp:206
msgid "SMD"
msgstr "CMS"
#: pcbnew/dialog_pad_edit.cpp:207
#: eeschema/netlist.cpp:210
msgid "Conn"
msgstr "Conn"
#: pcbnew/dialog_pad_edit.cpp:208
msgid "Hole"
msgstr "Hole"
#: pcbnew/dialog_pad_edit.cpp:209
msgid "Mechanical"
msgstr "Mechanical"
#: pcbnew/dialog_pad_edit.cpp:210
msgid "Pad Type:"
msgstr "Type Pad:"
#: pcbnew/dialog_pad_edit.cpp:225
msgid "Layers:"
msgstr "Couches:"
#: pcbnew/dialog_pad_edit.cpp:229
msgid "Copper layer"
msgstr "Couches Cuivre"
#: pcbnew/dialog_pad_edit.cpp:233
msgid "Comp layer"
msgstr "Couche Cmp"
#: pcbnew/dialog_pad_edit.cpp:239
msgid "Adhesive Cmp"
msgstr "Adhesive Cmp"
#: pcbnew/dialog_pad_edit.cpp:243
msgid "Adhesive Copper"
msgstr "Adhesive Cu"
#: pcbnew/dialog_pad_edit.cpp:247
msgid "Solder paste Cmp"
msgstr "Pate souder Cmp"
#: pcbnew/dialog_pad_edit.cpp:251
msgid "Solder paste Copper"
msgstr "Pate souder cuivre"
#: pcbnew/dialog_pad_edit.cpp:255
msgid "Silkscreen Cmp"
msgstr "Srigr Cmp"
#: pcbnew/dialog_pad_edit.cpp:259
msgid "Silkscreen Copper"
msgstr "Srigr Cu "
#: pcbnew/dialog_pad_edit.cpp:263
msgid "Solder mask Cmp"
msgstr "Masque soudure Cmp"
#: pcbnew/dialog_pad_edit.cpp:267
msgid "Solder mask Copper"
msgstr "Masque soudure cuivre"
#: pcbnew/dialog_pad_edit.cpp:271
msgid "E.C.O.1 layer"
msgstr "couche E.C.O.1"
#: pcbnew/dialog_pad_edit.cpp:275
msgid "E.C.O.2 layer"
msgstr "couche E.C.O.2"
#: pcbnew/dialog_pad_edit.cpp:279
msgid "Draft layer"
msgstr "Couche dessin"
#: pcbnew/class_edge_mod.cpp:283 #: pcbnew/class_edge_mod.cpp:283
msgid "Seg" msgid "Seg"
msgstr "Seg" msgstr "Seg"
...@@ -4303,58 +4247,6 @@ msgstr "Change module %s (%s) " ...@@ -4303,58 +4247,6 @@ msgstr "Change module %s (%s) "
msgid "Cmp files:" msgid "Cmp files:"
msgstr "Fichiers Cmp: " msgstr "Fichiers Cmp: "
#: pcbnew/clean.cpp:177
msgid "Delete unconnected tracks:"
msgstr "Suppression Pistes non connectes"
#: pcbnew/clean.cpp:196
msgid "ViaDef"
msgstr "ViaDef"
#: pcbnew/clean.cpp:368
msgid "Clean Null Segments"
msgstr "Nettoyage segments nulls"
#: pcbnew/clean.cpp:460
msgid "Merging Segments:"
msgstr "Associe Segment"
#: pcbnew/clean.cpp:462
msgid "Merge"
msgstr "Merge"
#: pcbnew/clean.cpp:478
msgid "Merge: "
msgstr "Merge: "
#: pcbnew/clean.cpp:708
msgid "DRC Control:"
msgstr "Controle DRC:"
#: pcbnew/clean.cpp:713
msgid "NetCtr"
msgstr "NetCtr"
#: pcbnew/clean.cpp:1059
msgid "Centre"
msgstr "Centre"
#: pcbnew/clean.cpp:1059
msgid "0 "
msgstr "0"
#: pcbnew/clean.cpp:1070
msgid "Pads: "
msgstr "Pastilles: "
#: pcbnew/clean.cpp:1074
msgid "Max"
msgstr "Max"
#: pcbnew/clean.cpp:1077
msgid "Segm"
msgstr "Segm"
#: pcbnew/zones.cpp:155 #: pcbnew/zones.cpp:155
#: pcbnew/zones.cpp:156 #: pcbnew/zones.cpp:156
#: pcbnew/zones.cpp:157 #: pcbnew/zones.cpp:157
...@@ -4419,12 +4311,12 @@ msgid "Update Options" ...@@ -4419,12 +4311,12 @@ msgid "Update Options"
msgstr "Maj Options" msgstr "Maj Options"
#: pcbnew/zones.cpp:235 #: pcbnew/zones.cpp:235
#: pcbnew/dialog_zones_by_polygon.cpp:239 #: pcbnew/dialog_zones_by_polygon.cpp:247
msgid "Zone clearance value:" msgid "Zone clearance value:"
msgstr "Valeur isolation zone:" msgstr "Valeur isolation zone:"
#: pcbnew/zones.cpp:238 #: pcbnew/zones.cpp:238
#: pcbnew/dialog_zones_by_polygon.cpp:242 #: pcbnew/dialog_zones_by_polygon.cpp:250
msgid "Grid :" msgid "Grid :"
msgstr "Grille:" msgstr "Grille:"
...@@ -4441,30 +4333,39 @@ msgid "Delete Current Zone Edges" ...@@ -4441,30 +4333,39 @@ msgid "Delete Current Zone Edges"
msgstr "Effacer contour zone courant" msgstr "Effacer contour zone courant"
#: pcbnew/zones.cpp:871 #: pcbnew/zones.cpp:871
#: pcbnew/zones_by_polygon.cpp:829 #: pcbnew/zones_by_polygon.cpp:862
msgid "No Net" msgid "No Net"
msgstr "No Net" msgstr "No Net"
#: pcbnew/specctra.cpp:1015 #: pcbnew/dsn.cpp:469
#: pcbnew/specctra.cpp:1022 msgid "Line length exceeded"
msgid "Expecting" msgstr "Longueur de ligne dpasse"
msgstr "Attendu"
#: pcbnew/dsn.cpp:579
msgid "in file"
msgstr "dans le fichier"
#: pcbnew/dsn.cpp:580
msgid "on line"
msgstr "en ligne"
#: pcbnew/specctra.cpp:1031 #: pcbnew/dsn.cpp:581
#: pcbnew/specctra.cpp:1038 msgid "at offset"
msgid "Unexpected" msgstr "a l'offset"
msgstr "Inattendu"
#: pcbnew/specctra.cpp:1059 #: pcbnew/dsn.cpp:629
#: pcbnew/specctra.cpp:1817 msgid "String delimiter must be a single character of ', \", or $"
#, c-format msgstr "Le caractre de dlimitation de ligne doit tre un seul caractre ', \", or $"
msgid "Unable to open file \"%s\""
msgstr "Ne peut pas ouvrirle fichier \"%s\""
#: pcbnew/specctra.cpp:1792 #: pcbnew/dsn.cpp:708
#, c-format msgid "Un-terminated delimited string"
msgid "System file error writing to file \"%s\"" msgstr "Ligne dlimite non termine"
msgstr "Erreur systme sur criture fichier \"%s\""
#: pcbnew/zones_by_polygon.cpp:324
#: pcbnew/zones_by_polygon.cpp:378
#: pcbnew/zones_by_polygon.cpp:667
msgid "Area: DRC outline error"
msgstr "Zone; Erreur DRC sur contour"
#: pcbnew/move_or_drag_track.cpp:714 #: pcbnew/move_or_drag_track.cpp:714
msgid "Unable to drag this segment: too many segments connected" msgid "Unable to drag this segment: too many segments connected"
...@@ -4502,38 +4403,22 @@ msgstr "Avanc ...@@ -4502,38 +4403,22 @@ msgstr "Avanc
msgid "Net sorting:" msgid "Net sorting:"
msgstr "Tri des Equipotentielles:" msgstr "Tri des Equipotentielles:"
#: pcbnew/dialog_zones_by_polygon.cpp:462 #: pcbnew/dialog_zones_by_polygon.cpp:217
msgid "Filter"
msgstr "Filtre"
#: pcbnew/dialog_zones_by_polygon.cpp:222
msgid "Do not list net names which match with this text, in advanced mode"
msgstr ""
#: pcbnew/dialog_zones_by_polygon.cpp:501
msgid "Error : you must choose a layer" msgid "Error : you must choose a layer"
msgstr "Erreur. Vous devez choisir une couche" msgstr "Erreur. Vous devez choisir une couche"
#: pcbnew/dialog_zones_by_polygon.cpp:471 #: pcbnew/dialog_zones_by_polygon.cpp:510
msgid "Error : you must choose a net name" msgid "Error : you must choose a net name"
msgstr "Erreur. Vous devez choisir une quipotentielle" msgstr "Erreur. Vous devez choisir une quipotentielle"
#: pcbnew/dsn.cpp:467
msgid "Line length exceeded"
msgstr "Longueur de ligne dpasse"
#: pcbnew/dsn.cpp:577
msgid "in file"
msgstr "dans le fichier"
#: pcbnew/dsn.cpp:578
msgid "on line"
msgstr "en ligne"
#: pcbnew/dsn.cpp:579
msgid "at offset"
msgstr "a l'offset"
#: pcbnew/dsn.cpp:618
msgid "String delimiter must be a single character of ', \", or $"
msgstr "Le caractre de dlimitation de ligne doit tre un seul caractre ', \", or $"
#: pcbnew/dsn.cpp:697
msgid "Un-terminated delimited string"
msgstr "Ligne dlimite non termine"
#: pcbnew/initpcb.cpp:125 #: pcbnew/initpcb.cpp:125
msgid "Current Board will be lost ?" msgid "Current Board will be lost ?"
msgstr "Le C.I. courant sera perdu ?" msgstr "Le C.I. courant sera perdu ?"
...@@ -4564,6 +4449,103 @@ msgstr "Effacement des Modules?" ...@@ -4564,6 +4449,103 @@ msgstr "Effacement des Modules?"
msgid "Delete Pcb Texts" msgid "Delete Pcb Texts"
msgstr "Effacer Textes Pcb" msgstr "Effacer Textes Pcb"
#: pcbnew/sel_layer.cpp:92
msgid "Select Layer:"
msgstr "Selection couche:"
#: pcbnew/sel_layer.cpp:137
msgid "(Deselect)"
msgstr "(Deselection)"
#: pcbnew/sel_layer.cpp:238
msgid "Less than two copper layers are being used."
msgstr "Il y a moins de 2 couches cuivre utilises."
#: pcbnew/sel_layer.cpp:239
msgid "Hence Layer Pairs cannot be specified."
msgstr "Donc les paires de couche ne peuvent pas tre spcifies"
#: pcbnew/sel_layer.cpp:263
msgid "Select Layer Pair:"
msgstr "Selection paire de couches"
#: pcbnew/sel_layer.cpp:294
msgid "Top Layer"
msgstr "Couche Sup."
#: pcbnew/sel_layer.cpp:299
msgid "Bottom Layer"
msgstr "Couche Inf."
#: pcbnew/sel_layer.cpp:358
msgid "The Top Layer and Bottom Layer must differ"
msgstr "Les couches dessus et dessous doivent diffrer"
#: pcbnew/move-drag_pads.cpp:251
#, c-format
msgid "Delete Pad (module %s %s) "
msgstr "Effacer Pad (module %s %s) "
#: pcbnew/globaleditpad.cpp:76
msgid "Pads Global Edit"
msgstr "Pads: Edition globale"
#: pcbnew/globaleditpad.cpp:94
msgid "Pad Settings..."
msgstr "Caract pad ..."
#: pcbnew/globaleditpad.cpp:99
msgid "Change Module"
msgstr "Change module"
#: pcbnew/globaleditpad.cpp:104
msgid "Change Id Modules"
msgstr "Change Modules ident."
#: pcbnew/globaleditpad.cpp:114
msgid "Pad Filter :"
msgstr "Filtre Pad :"
#: pcbnew/globaleditpad.cpp:118
msgid "Shape Filter"
msgstr "Filtre sur forme"
#: pcbnew/globaleditpad.cpp:122
msgid "Layer Filter"
msgstr "Filtre sur couche"
#: pcbnew/globaleditpad.cpp:126
msgid "Orient Filter"
msgstr "Filtre Orientation"
#: pcbnew/globaleditpad.cpp:132
msgid "Change Items :"
msgstr "Elments changer:"
#: pcbnew/globaleditpad.cpp:136
msgid "Change Size"
msgstr "Change Taille"
#: pcbnew/globaleditpad.cpp:140
msgid "Change Shape"
msgstr "Change Forme"
#: pcbnew/globaleditpad.cpp:144
msgid "Change Drill"
msgstr "Change Perage"
#: pcbnew/globaleditpad.cpp:148
msgid "Change Orient"
msgstr "Change Orientation"
#: pcbnew/zone_filling_algorithm.cpp:155
msgid "No pads or starting point found to fill this zone outline"
msgstr "Pas de pads ou de points de dpart pour remplir ce contour de zone"
#: pcbnew/zone_filling_algorithm.cpp:193
msgid "Ok"
msgstr "Ok"
#: pcbnew/find.cpp:114 #: pcbnew/find.cpp:114
msgid "Marker found" msgid "Marker found"
msgstr "Marqueur trouv" msgstr "Marqueur trouv"
...@@ -4603,115 +4585,27 @@ msgstr "Chercher Marqueur" ...@@ -4603,115 +4585,27 @@ msgstr "Chercher Marqueur"
msgid "Find Next Marker" msgid "Find Next Marker"
msgstr "Marqueur Suivant" msgstr "Marqueur Suivant"
#: pcbnew/class_board.cpp:403 #: pcbnew/class_board.cpp:409
msgid "Nodes" msgid "Nodes"
msgstr "Nodes" msgstr "Nodes"
#: pcbnew/class_board.cpp:406 #: pcbnew/class_board.cpp:412
msgid "Links" msgid "Links"
msgstr "Liens" msgstr "Liens"
#: pcbnew/class_board.cpp:409 #: pcbnew/class_board.cpp:415
msgid "Nets" msgid "Nets"
msgstr "Nets" msgstr "Nets"
#: pcbnew/class_board.cpp:412 #: pcbnew/class_board.cpp:418
msgid "Connect" msgid "Connect"
msgstr "Connect" msgstr "Connect"
#: pcbnew/class_board.cpp:415 #: pcbnew/class_board.cpp:421
#: eeschema/eelayer.h:116 #: eeschema/eelayer.h:116
msgid "NoConn" msgid "NoConn"
msgstr "Non Conn" msgstr "Non Conn"
#: pcbnew/drc.cpp:1324
msgid "Tst Pad to Pad\n"
msgstr "Tst Pad to Pad\n"
#: pcbnew/drc.cpp:1370
#: pcbnew/drc.cpp:1444
msgid "SegmNb"
msgstr "SegmNb"
#: pcbnew/drc.cpp:1371
msgid "Track Err"
msgstr "Err Pistes"
#: pcbnew/drc.cpp:1375
msgid "Tst Tracks\n"
msgstr "Tst Pistes\n"
#: pcbnew/drc.cpp:1406
#: pcbnew/drc.cpp:1484
#: eeschema/eelayer.h:104
msgid "Netname"
msgstr "NetName"
#: pcbnew/drc.cpp:1445
msgid "Zone Err"
msgstr "Err. Zone"
#: pcbnew/drc.cpp:1448
msgid "Tst Zones\n"
msgstr "Test Zones\n"
#: pcbnew/drc.cpp:1571
msgid "Look for active routes\n"
msgstr "Recherche des chevelus actifs\n"
#: pcbnew/drc.cpp:1594
#, c-format
msgid "%d > Pad %s (%s) @ %.4f,%.4f and "
msgstr "%d > Pad %s (%s) @ %.4f,%.4f et "
#: pcbnew/drc.cpp:1608
#, c-format
msgid "Pad %s (%s) @ %.4f,%.4f\n"
msgstr "Pad %s (%s) @ %.4f,%.4f\n"
#: pcbnew/drc.cpp:1618
#, c-format
msgid "Active routes: %d\n"
msgstr "Active routes: %d\n"
#: pcbnew/drc.cpp:1620
msgid "OK! (No active routes)\n"
msgstr "OK! (Pas de chevelu actif)\n"
#: pcbnew/drc.cpp:1679
#, c-format
msgid "** End Drc: %d errors **\n"
msgstr "** FinDrc: %d erreurs **\n"
#: pcbnew/drc.cpp:1681
msgid "** End Drc: No Error **\n"
msgstr "** Fin Drc: Aucune Erreur **\n"
#: pcbnew/drc.cpp:1690
#, c-format
msgid "Report file <%s> created\n"
msgstr "Fichier rapport <%s> cr\n"
#: pcbnew/drc.cpp:2588
#, c-format
msgid "%d Drc Err %d %s (net %s) and PAD %s (%s) net %s @ %d,%d\n"
msgstr "%d Err Drc %d %s (net %s) et PAD %s (%s) net %s @ %d,%d\n"
#: pcbnew/drc.cpp:2605
#, c-format
msgid "%d Err type %d: %s (net %s) and VIA (net %s) @ %d,%d\n"
msgstr "%d Err type %d: %s (net %s) et VIA (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:2621
#, c-format
msgid "%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n"
msgstr "%d Err type %d: %s (net %s) et piste (net %s) @ %d,%d\n"
#: pcbnew/drc.cpp:2681
#, c-format
msgid "%d Drc Err: PAD %s (%s) net %s @ %d,%d and PAD %s (%s) net %s @ %d,%d\n"
msgstr "%d Err Drc: PAD %s (%s) net %s @ %d,%d et PAD %s (%s) net %s @ %d,%d\n"
#: pcbnew/basepcbframe.cpp:159 #: pcbnew/basepcbframe.cpp:159
msgid "3D Frame already opened" msgid "3D Frame already opened"
msgstr "Fenetre 3D dj ouverte" msgstr "Fenetre 3D dj ouverte"
...@@ -4765,10 +4659,6 @@ msgstr "Pad ...@@ -4765,10 +4659,6 @@ msgstr "Pad
msgid "Include tests for clearances between pad to pads" msgid "Include tests for clearances between pad to pads"
msgstr "Inclure test de l'isolation entre pads" msgstr "Inclure test de l'isolation entre pads"
#: pcbnew/dialog_drc.cpp:477
msgid "Zones"
msgstr "Zones"
#: pcbnew/dialog_drc.cpp:480 #: pcbnew/dialog_drc.cpp:480
msgid "Include zones in clearance or unconnected tests" msgid "Include zones in clearance or unconnected tests"
msgstr "Inclure zones dans les test d'isolation en test tests de nonconnexion" msgstr "Inclure zones dans les test d'isolation en test tests de nonconnexion"
...@@ -4849,11 +4739,11 @@ msgstr "Fichier rapport termin ...@@ -4849,11 +4739,11 @@ msgstr "Fichier rapport termin
msgid "DRC Report file" msgid "DRC Report file"
msgstr "Fichier rapport de contrle DRC:" msgstr "Fichier rapport de contrle DRC:"
#: pcbnew/class_zone.cpp:445 #: pcbnew/class_zone.cpp:487
msgid "Corners" msgid "Corners"
msgstr "Sommets" msgstr "Sommets"
#: pcbnew/class_zone.cpp:449 #: pcbnew/class_zone.cpp:491
msgid "Hatch lines" msgid "Hatch lines"
msgstr "Lignes de Hachure" msgstr "Lignes de Hachure"
...@@ -4897,12 +4787,20 @@ msgstr "Pad pr ...@@ -4897,12 +4787,20 @@ msgstr "Pad pr
msgid "Via hole > diameter" msgid "Via hole > diameter"
msgstr "Perage via > diamtre" msgstr "Perage via > diamtre"
#: pcbnew/hotkeys.cpp:443 #: pcbnew/class_drc_item.cpp:69
msgid "Copper area inside copper area"
msgstr "Zone de cuivre l'intrieur d'une zone de cuivre"
#: pcbnew/class_drc_item.cpp:71
msgid "Copper areas intersect or too close"
msgstr "Les zones de cuivre se coupent ou sont trop proches"
#: pcbnew/hotkeys.cpp:467
#, c-format #, c-format
msgid "Footprint %s found, but locked" msgid "Footprint %s found, but locked"
msgstr "Module %s trouv, mais verrouill" msgstr "Module %s trouv, mais verrouill"
#: pcbnew/hotkeys.cpp:608 #: pcbnew/hotkeys.cpp:632
msgid "Delete module?" msgid "Delete module?"
msgstr "Effacer Module?" msgstr "Effacer Module?"
...@@ -5195,7 +5093,7 @@ msgstr "\" de la librairie \"" ...@@ -5195,7 +5093,7 @@ msgstr "\" de la librairie \""
#: eeschema/libedit.cpp:373 #: eeschema/libedit.cpp:373
msgid "Clear old component from screen (changes will be lost)?" msgid "Clear old component from screen (changes will be lost)?"
msgstr "" msgstr "Supprimer l'ancien composant de l'cran (les changements seront perdus)?"
#: eeschema/libedit.cpp:391 #: eeschema/libedit.cpp:391
msgid "\" exists in library \"" msgid "\" exists in library \""
...@@ -7113,38 +7011,6 @@ msgstr "Erreur. Vous devez entre une ligne de commande" ...@@ -7113,38 +7011,6 @@ msgstr "Erreur. Vous devez entre une ligne de commande"
msgid "Error. You must provide a Title" msgid "Error. You must provide a Title"
msgstr "Erreur. Vous devez entre un titre" msgstr "Erreur. Vous devez entre un titre"
#: eeschema/netlist.cpp:179
msgid "No component"
msgstr "Pas de composants"
#: eeschema/netlist.cpp:200
#: eeschema/netlist.cpp:305
#: eeschema/netlist.cpp:343
#: eeschema/netlist.cpp:364
#: eeschema/netlist.cpp:379
msgid "Done"
msgstr "Fini"
#: eeschema/netlist.cpp:203
msgid "NbItems"
msgstr "NbItems"
#: eeschema/netlist.cpp:310
msgid "Labels"
msgstr "Labels"
#: eeschema/netlist.cpp:346
msgid "Hierar."
msgstr "Hirar."
#: eeschema/netlist.cpp:367
msgid "Sorting"
msgstr "Tri"
#: eeschema/netlist.cpp:808
msgid "Bad Bus Label: "
msgstr "Mauvais label de Bus: "
#: eeschema/edit_component_in_lib.cpp:168 #: eeschema/edit_component_in_lib.cpp:168
#: eeschema/dialog_edit_component_in_lib.h:43 #: eeschema/dialog_edit_component_in_lib.h:43
msgid "Lib Component Properties" msgid "Lib Component Properties"
...@@ -7806,6 +7672,11 @@ msgstr "Tout" ...@@ -7806,6 +7672,11 @@ msgstr "Tout"
msgid "default" msgid "default"
msgstr "Dfaut" msgstr "Dfaut"
#: eeschema/symbdraw.cpp:795
#, c-format
msgid "Arc %.1f deg"
msgstr "Arc %.1f deg"
#: eeschema/delsheet.cpp:42 #: eeschema/delsheet.cpp:42
#, c-format #, c-format
msgid "Sheet %s (file %s) modified. Save it?" msgid "Sheet %s (file %s) modified. Save it?"
...@@ -7867,11 +7738,6 @@ msgstr "Noir" ...@@ -7867,11 +7738,6 @@ msgstr "Noir"
msgid "Background Color:" msgid "Background Color:"
msgstr "Couleur du Fond:" msgstr "Couleur du Fond:"
#: eeschema/symbdraw.cpp:795
#, c-format
msgid "Arc %.1f deg"
msgstr "Arc %.1f deg"
#: eeschema/pinedit-dialog.cpp:233 #: eeschema/pinedit-dialog.cpp:233
msgid "Pin Name :" msgid "Pin Name :"
msgstr "Nom de la pin :" msgstr "Nom de la pin :"
...@@ -8044,21 +7910,53 @@ msgstr "Change taille Nom pin s ...@@ -8044,21 +7910,53 @@ msgstr "Change taille Nom pin s
msgid "Pin Name Size to others" msgid "Pin Name Size to others"
msgstr "Change taille Nom pin autres pins" msgstr "Change taille Nom pin autres pins"
#: eeschema/libedit_onrightclick.cpp:226 #: eeschema/libedit_onrightclick.cpp:226
msgid "Pin Num Size to selected pin" msgid "Pin Num Size to selected pin"
msgstr "Change taille Num pins slectionnes" msgstr "Change taille Num pins slectionnes"
#: eeschema/libedit_onrightclick.cpp:226
msgid "Pin Num Size to others"
msgstr "Change taille Num pin autres pins"
#: eeschema/libedit_onrightclick.cpp:249
msgid "Select items"
msgstr "Slection des lments"
#: eeschema/libedit_onrightclick.cpp:252
msgid "Mirror Block (ctrl + drag mouse)"
msgstr "Bloc Miroir (ctrl + drag mouse)"
#: eeschema/netlist.cpp:179
msgid "No component"
msgstr "Pas de composants"
#: eeschema/netlist.cpp:200
#: eeschema/netlist.cpp:305
#: eeschema/netlist.cpp:343
#: eeschema/netlist.cpp:364
#: eeschema/netlist.cpp:379
msgid "Done"
msgstr "Fini"
#: eeschema/netlist.cpp:203
msgid "NbItems"
msgstr "NbItems"
#: eeschema/netlist.cpp:310
msgid "Labels"
msgstr "Labels"
#: eeschema/libedit_onrightclick.cpp:226 #: eeschema/netlist.cpp:346
msgid "Pin Num Size to others" msgid "Hierar."
msgstr "Change taille Num pin autres pins" msgstr "Hirar."
#: eeschema/libedit_onrightclick.cpp:249 #: eeschema/netlist.cpp:367
msgid "Select items" msgid "Sorting"
msgstr "Slection des lments" msgstr "Tri"
#: eeschema/libedit_onrightclick.cpp:252 #: eeschema/netlist.cpp:808
msgid "Mirror Block (ctrl + drag mouse)" msgid "Bad Bus Label: "
msgstr "Bloc Miroir (ctrl + drag mouse)" msgstr "Mauvais label de Bus: "
#: eeschema/eelibs_read_libraryfiles.cpp:115 #: eeschema/eelibs_read_libraryfiles.cpp:115
msgid "Start loading schematic libs" msgid "Start loading schematic libs"
...@@ -8290,16 +8188,6 @@ msgstr "Format Netliste: ViewLogic net&pkg" ...@@ -8290,16 +8188,6 @@ msgstr "Format Netliste: ViewLogic net&pkg"
msgid "Component [%s] not found in .pkg file" msgid "Component [%s] not found in .pkg file"
msgstr "Composant [%s] non trouv en fichier .pkg" msgstr "Composant [%s] non trouv en fichier .pkg"
#: cvpcb/listlib.cpp:69
#, c-format
msgid "Library file <%s> not found"
msgstr "Librairie %s non trouve"
#: cvpcb/listlib.cpp:79
#, c-format
msgid "Library file <%s> is not a module library"
msgstr "Le fichier %s n'est pas une librairie eeschema"
#: cvpcb/init.cpp:64 #: cvpcb/init.cpp:64
#, c-format #, c-format
msgid "Components: %d (free: %d)" msgid "Components: %d (free: %d)"
...@@ -8428,6 +8316,16 @@ msgstr "Ouvrir la documentation de cvpcb" ...@@ -8428,6 +8316,16 @@ msgstr "Ouvrir la documentation de cvpcb"
msgid "Netlist Format: Pcad" msgid "Netlist Format: Pcad"
msgstr " Format NetListe: Pcad" msgstr " Format NetListe: Pcad"
#: cvpcb/listlib.cpp:69
#, c-format
msgid "Library file <%s> not found"
msgstr "Librairie %s non trouve"
#: cvpcb/listlib.cpp:79
#, c-format
msgid "Library file <%s> is not a module library"
msgstr "Le fichier %s n'est pas une librairie eeschema"
#: cvpcb/cvframe.cpp:175 #: cvpcb/cvframe.cpp:175
msgid "Netlist and Cmp list modified, Save before exit ?" msgid "Netlist and Cmp list modified, Save before exit ?"
msgstr "Netlist et liste composants modifis, Sauver avant de quitter ?" msgstr "Netlist et liste composants modifis, Sauver avant de quitter ?"
...@@ -9260,126 +9158,6 @@ msgstr "X" ...@@ -9260,126 +9158,6 @@ msgstr "X"
msgid "Y" msgid "Y"
msgstr "Y" msgstr "Y"
#: common/common.cpp:48
msgid " (\"):"
msgstr " (\"):"
#: common/common.cpp:277
msgid "Copper "
msgstr "Cuivre "
#: common/common.cpp:277
msgid "Inner L1 "
msgstr "Interne 1"
#: common/common.cpp:277
msgid "Inner L2 "
msgstr "Interne 2"
#: common/common.cpp:277
msgid "Inner L3 "
msgstr "Interne 3"
#: common/common.cpp:278
msgid "Inner L4 "
msgstr "Interne 4"
#: common/common.cpp:278
msgid "Inner L5 "
msgstr "Interne 5"
#: common/common.cpp:278
msgid "Inner L6 "
msgstr "Interne 6"
#: common/common.cpp:278
msgid "Inner L7 "
msgstr "Interne 7"
#: common/common.cpp:279
msgid "Inner L8 "
msgstr "Interne 8"
#: common/common.cpp:279
msgid "Inner L9 "
msgstr "Interne 9"
#: common/common.cpp:279
msgid "Inner L10"
msgstr "Interne 10"
#: common/common.cpp:279
msgid "Inner L11"
msgstr "Interne 11"
#: common/common.cpp:280
msgid "Inner L12"
msgstr "Interne 12"
#: common/common.cpp:280
msgid "Inner L13"
msgstr "Interne 13"
#: common/common.cpp:280
msgid "Inner L14"
msgstr "Interne 14"
#: common/common.cpp:281
msgid "Adhes Cop"
msgstr "Adhes Cu "
#: common/common.cpp:281
msgid "Adhes Cmp"
msgstr "Adhe Cmp"
#: common/common.cpp:281
msgid "SoldP Cop"
msgstr "SoldP Cu "
#: common/common.cpp:281
msgid "SoldP Cmp"
msgstr "SoldP Cmp"
#: common/common.cpp:282
msgid "SilkS Cop"
msgstr "Srigr Cu "
#: common/common.cpp:282
msgid "SilkS Cmp"
msgstr "Srigr Cmp"
#: common/common.cpp:282
msgid "Mask Cop "
msgstr "Masque Cu "
#: common/common.cpp:282
msgid "Mask Cmp "
msgstr "Masque Cmp"
#: common/common.cpp:283
msgid "Drawings "
msgstr "Drawings "
#: common/common.cpp:283
msgid "Comments "
msgstr "Comments "
#: common/common.cpp:283
msgid "Eco1 "
msgstr "Eco1 "
#: common/common.cpp:283
msgid "Eco2 "
msgstr "Eco2 "
#: common/common.cpp:284
msgid "Edges Pcb"
msgstr "Contour Pcb"
#: common/common.cpp:284
msgid "--- "
msgstr "--- "
#: common/basicframe.cpp:216 #: common/basicframe.cpp:216
#, c-format #, c-format
msgid "Help file %s not found" msgid "Help file %s not found"
...@@ -9499,6 +9277,202 @@ msgstr "Inversion Bloc" ...@@ -9499,6 +9277,202 @@ msgstr "Inversion Bloc"
msgid "Block Mirror" msgid "Block Mirror"
msgstr "Bloc Miroir" msgstr "Bloc Miroir"
#: common/common.cpp:49
msgid " (\"):"
msgstr " (\"):"
#: common/common.cpp:295
msgid "H2 Bottom"
msgstr "H2 Bottom"
#: common/common.cpp:295
msgid "Power"
msgstr "Power"
#: common/common.cpp:295
msgid "V2 Signal"
msgstr "V2 Signal"
#: common/common.cpp:295
msgid "H1 Signal"
msgstr "H1 Signal"
#: common/common.cpp:296
msgid "Ground"
msgstr "Ground"
#: common/common.cpp:296
#: common/common.cpp:307
#: common/common.cpp:340
msgid "Inner L5 "
msgstr "Interne 5"
#: common/common.cpp:296
#: common/common.cpp:307
#: common/common.cpp:340
msgid "Inner L6 "
msgstr "Interne 6"
#: common/common.cpp:296
#: common/common.cpp:307
#: common/common.cpp:340
msgid "Inner L7 "
msgstr "Interne 7"
#: common/common.cpp:297
#: common/common.cpp:308
#: common/common.cpp:341
msgid "Inner L8 "
msgstr "Interne 8"
#: common/common.cpp:297
#: common/common.cpp:308
#: common/common.cpp:341
msgid "Inner L9 "
msgstr "Interne 9"
#: common/common.cpp:297
#: common/common.cpp:308
#: common/common.cpp:341
msgid "Inner L10"
msgstr "Interne 10"
#: common/common.cpp:297
#: common/common.cpp:308
#: common/common.cpp:341
msgid "Inner L11"
msgstr "Interne 11"
#: common/common.cpp:298
#: common/common.cpp:309
#: common/common.cpp:342
msgid "Inner L12"
msgstr "Interne 12"
#: common/common.cpp:298
#: common/common.cpp:309
#: common/common.cpp:342
msgid "Inner L13"
msgstr "Interne 13"
#: common/common.cpp:298
#: common/common.cpp:309
#: common/common.cpp:342
msgid "Inner L14"
msgstr "Interne 14"
#: common/common.cpp:299
#: common/common.cpp:310
#: common/common.cpp:343
msgid "Adhes Cop"
msgstr "Adhes Cu "
#: common/common.cpp:299
#: common/common.cpp:310
#: common/common.cpp:343
msgid "Adhes Cmp"
msgstr "Adhe Cmp"
#: common/common.cpp:299
#: common/common.cpp:310
#: common/common.cpp:343
msgid "SoldP Cop"
msgstr "SoldP Cu "
#: common/common.cpp:299
#: common/common.cpp:310
#: common/common.cpp:343
msgid "SoldP Cmp"
msgstr "SoldP Cmp"
#: common/common.cpp:300
#: common/common.cpp:311
#: common/common.cpp:344
msgid "SilkS Cop"
msgstr "Srigr Cu "
#: common/common.cpp:300
#: common/common.cpp:311
#: common/common.cpp:344
msgid "SilkS Cmp"
msgstr "Srigr Cmp"
#: common/common.cpp:300
#: common/common.cpp:311
#: common/common.cpp:344
msgid "Mask Cop "
msgstr "Masque Cu "
#: common/common.cpp:300
#: common/common.cpp:311
#: common/common.cpp:344
msgid "Mask Cmp "
msgstr "Masque Cmp"
#: common/common.cpp:301
#: common/common.cpp:312
#: common/common.cpp:345
msgid "Drawings "
msgstr "Drawings "
#: common/common.cpp:301
#: common/common.cpp:312
#: common/common.cpp:345
msgid "Comments "
msgstr "Comments "
#: common/common.cpp:301
#: common/common.cpp:312
#: common/common.cpp:345
msgid "Eco1 "
msgstr "Eco1 "
#: common/common.cpp:301
#: common/common.cpp:312
#: common/common.cpp:345
msgid "Eco2 "
msgstr "Eco2 "
#: common/common.cpp:302
#: common/common.cpp:313
#: common/common.cpp:346
msgid "Edges Pcb"
msgstr "Contour Pcb"
#: common/common.cpp:302
#: common/common.cpp:313
msgid "BAD INDEX"
msgstr "BAD INDEX"
#: common/common.cpp:306
#: common/common.cpp:339
msgid "Copper "
msgstr "Cuivre "
#: common/common.cpp:306
#: common/common.cpp:339
msgid "Inner L1 "
msgstr "Interne 1"
#: common/common.cpp:306
#: common/common.cpp:339
msgid "Inner L2 "
msgstr "Interne 2"
#: common/common.cpp:306
#: common/common.cpp:339
msgid "Inner L3 "
msgstr "Interne 3"
#: common/common.cpp:307
#: common/common.cpp:340
msgid "Inner L4 "
msgstr "Interne 4"
#: common/common.cpp:346
msgid "--- "
msgstr "--- "
#: common/gestfich.cpp:621 #: common/gestfich.cpp:621
msgid "No default editor found, you must choose it" msgid "No default editor found, you must choose it"
msgstr "Pas d'diteur par dfaut trouv, vous devez en choisir un" msgstr "Pas d'diteur par dfaut trouv, vous devez en choisir un"
...@@ -9996,18 +9970,10 @@ msgid "grid user" ...@@ -9996,18 +9970,10 @@ msgid "grid user"
msgstr "grille user" msgstr "grille user"
#: pcbnew/zones.h:59 #: pcbnew/zones.h:59
#: pcbnew/dialog_zones_by_polygon.h:52 #: pcbnew/dialog_zones_by_polygon.h:53
msgid "Fill Zones Options" msgid "Fill Zones Options"
msgstr "Options de remplissage de Zone" msgstr "Options de remplissage de Zone"
#: pcbnew/dialog_initpcb.h:38
msgid "Global Delete"
msgstr "Effacements Gnraux"
#: pcbnew/dialog_edit_mod_text.h:43
msgid "TextMod properties"
msgstr "Proprits du Texte sur Module"
#: pcbnew/gen_self.h:217 #: pcbnew/gen_self.h:217
msgid "Length(inch):" msgid "Length(inch):"
msgstr "Longueur (pouces):" msgstr "Longueur (pouces):"
...@@ -10029,6 +9995,14 @@ msgstr "Incapable de cr ...@@ -10029,6 +9995,14 @@ msgstr "Incapable de cr
msgid "Segm count = %d, Lenght = " msgid "Segm count = %d, Lenght = "
msgstr "Nbr segm = %d, Longueur = " msgstr "Nbr segm = %d, Longueur = "
#: pcbnew/dialog_initpcb.h:38
msgid "Global Delete"
msgstr "Effacements Gnraux"
#: pcbnew/dialog_edit_mod_text.h:43
msgid "TextMod properties"
msgstr "Proprits du Texte sur Module"
#: pcbnew/find.h:38 #: pcbnew/find.h:38
msgid "Find" msgid "Find"
msgstr "Chercher" msgstr "Chercher"
...@@ -10037,7 +10011,7 @@ msgstr "Chercher" ...@@ -10037,7 +10011,7 @@ msgstr "Chercher"
msgid "Pad properties" msgid "Pad properties"
msgstr "Proprits des Pads" msgstr "Proprits des Pads"
#: pcbnew/dialog_track_options.h:49 #: pcbnew/dialog_track_options.h:53
msgid "Tracks and Vias Sizes" msgid "Tracks and Vias Sizes"
msgstr "Dims pistes et vias" msgstr "Dims pistes et vias"
...@@ -10060,6 +10034,15 @@ msgstr "Options de nettoyage" ...@@ -10060,6 +10034,15 @@ msgstr "Options de nettoyage"
msgid "General Options" msgid "General Options"
msgstr "Options gnrales" msgstr "Options gnrales"
#: pcbnew/pcbnew.h:288
msgid "??? Via"
msgstr "??? Via"
#: pcbnew/pcbnew.h:290
#, fuzzy
msgid "Blind/Buried Via"
msgstr "Via enterre"
#: pcbnew/set_color.h:38 #: pcbnew/set_color.h:38
msgid "Pcbnew Layer Colors:" msgid "Pcbnew Layer Colors:"
msgstr "Pcbnew: Couleur desCouches" msgstr "Pcbnew: Couleur desCouches"
...@@ -10112,7 +10095,7 @@ msgstr "Afficher Modules Cmp" ...@@ -10112,7 +10095,7 @@ msgstr "Afficher Modules Cmp"
msgid "Show Modules Cu" msgid "Show Modules Cu"
msgstr "Afficher Modules Cu" msgstr "Afficher Modules Cu"
#: pcbnew/drc_stuff.h:120 #: pcbnew/drc_stuff.h:121
#, c-format #, c-format
msgid "ErrType(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>" msgid "ErrType(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>"
msgstr "Type Err(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>" msgstr "Type Err(%d): <b>%s</b><ul><li> %s: %s </li><li> %s: %s </li></ul>"
...@@ -10157,6 +10140,10 @@ msgstr "Label" ...@@ -10157,6 +10140,10 @@ msgstr "Label"
msgid "GlobLabel" msgid "GlobLabel"
msgstr "Lab Global" msgstr "Lab Global"
#: eeschema/eelayer.h:104
msgid "Netname"
msgstr "NetName"
#: eeschema/eelayer.h:110 #: eeschema/eelayer.h:110
msgid "Notes" msgid "Notes"
msgstr "Notes" msgstr "Notes"
......
...@@ -110,6 +110,12 @@ void BOARD::UnLink() ...@@ -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 ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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 ) ...@@ -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: ...@@ -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: ...@@ -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 ) : ...@@ -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 ...@@ -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() ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 @@ ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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 @@ ...@@ -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() ...@@ -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() ...@@ -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 ) ...@@ -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 ...@@ -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() ...@@ -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);
wxStaticBox* itemStaticBoxSizer11Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Micro Vias:"));
wxStaticBoxSizer* itemStaticBoxSizer11 = new wxStaticBoxSizer(itemStaticBoxSizer11Static, wxVERTICAL);
itemBoxSizer2->Add(itemStaticBoxSizer11, 0, wxGROW|wxALL, 5);
m_MicroViaSizeTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Via Size"), wxDefaultPosition, wxDefaultSize, 0 );
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);
itemBoxSizer2->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_MicroViaDrillTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Via Drill"), wxDefaultPosition, wxDefaultSize, 0 );
itemStaticBoxSizer11->Add(m_MicroViaDrillTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL); m_MicroViaDrillCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL6, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer2->Add(itemBoxSizer13, 0, wxGROW|wxALL, 5); 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* itemBoxSizer21 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer13->Add(itemBoxSizer21, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); itemBoxSizer2->Add(itemBoxSizer25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton22 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); wxButton* itemButton26 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton22->SetForegroundColour(wxColour(210, 0, 0)); itemButton26->SetForegroundColour(wxColour(210, 0, 0));
itemBoxSizer21->Add(itemButton22, 0, wxGROW|wxALL, 5); itemBoxSizer25->Add(itemButton26, 0, wxGROW|wxALL, 5);
wxButton* itemButton23 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, wxBU_LEFT ); wxButton* itemButton27 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, wxBU_LEFT );
itemButton23->SetForegroundColour(wxColour(0, 0, 255)); itemButton27->SetForegroundColour(wxColour(0, 0, 255));
itemBoxSizer21->Add(itemButton23, 0, wxGROW|wxALL, 5); itemBoxSizer25->Add(itemButton27, 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() ...@@ -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() ...@@ -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 ) ...@@ -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 @@ ...@@ -23,6 +23,7 @@
*/ */
////@begin includes ////@begin includes
#include "wx/valgen.h"
////@end includes ////@end includes
/*! /*!
...@@ -42,6 +43,9 @@ ...@@ -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: ...@@ -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: ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -295,7 +296,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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">"&lt;Any platform&gt;"</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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</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">"&lt;Any platform&gt;"</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">"&lt;Any platform&gt;"</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">"&lt;Any platform&gt;"</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">"&lt;Any platform&gt;"</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">"&lt;Any platform&gt;"</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(&amp; %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">"&lt;Any platform&gt;"</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 @@ ...@@ -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">"&lt;Any platform&gt;"</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">"&amp;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">"&lt;Any platform&gt;"</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 @@ ...@@ -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">"&lt;Any platform&gt;"</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">"&amp;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">"&lt;Any platform&gt;"</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 @@ ...@@ -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">"&lt;Any platform&gt;"</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">"&amp;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">"&lt;Any platform&gt;"</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">"&amp;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">"&lt;Any platform&gt;"</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() ...@@ -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 ...@@ -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 ) ...@@ -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 @@ ...@@ -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 @@ ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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; ...@@ -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: private:
// protected or private functions() are lowercase first character. // protected or private functions() are lowercase first character.
bool m_doPad2PadTest; bool m_doPad2PadTest;
bool m_doUnconnectedTest; bool m_doUnconnectedTest;
bool m_doZonesTest; bool m_doZonesTest;
bool m_doCreateRptFile; bool m_doCreateRptFile;
wxString m_rptFilename; wxString m_rptFilename;
// int m_errorCount; // int m_errorCount;
MARKER* m_currentMarker; MARKER* m_currentMarker;
bool m_aboartDRC; bool m_aboartDRC;
bool m_drcInProgress; bool m_drcInProgress;
int m_spotcx; int m_spotcx;
int m_spotcy; int m_spotcy;
int m_finx; int m_finx;
int m_finy; // coord relatives de l'extremite du segm de reference 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_segmAngle; // angle d'inclinaison du segment de reference en 0,1 degre
int m_segmLength; // length of the reference segment int m_segmLength; // length of the reference segment
int m_xcliplo; int m_xcliplo;
int m_ycliplo; int m_ycliplo;
int m_xcliphi; int m_xcliphi;
int m_ycliphi; // coord de la surface de securite du segment a comparer int m_ycliphi; // coord de la surface de securite du segment a comparer
WinEDA_PcbFrame* m_mainWindow; WinEDA_PcbFrame* m_mainWindow;
WinEDA_DrawPanel* m_drawPanel; WinEDA_DrawPanel* m_drawPanel;
BOARD* m_pcb; BOARD* m_pcb;
DrcDialog* m_ui; DrcDialog* m_ui;
DRC_LIST m_unconnected; ///< list of unconnected pads, as DRC_ITEMs 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 testTracks();
void testPad2Pad();
void testUnconnected();
void testZones(); 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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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;
else if( Via->Shape() == VIA_BLIND ) //blind via
{ case VIA_MICROVIA: // from external to the near neghbour inner layer
// A revoir! ( la via devrait deboucher sur 1 cote ) if ( old_layer == COPPER_LAYER_N )
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer ); 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 else if ( old_layer == LAYER_N_2 )
{ GetScreen()->m_Active_Layer = COPPER_LAYER_N;
// Usual via is from copper to component; layer pair is 0 and 0x0F. else if ( old_layer == m_Pcb->m_BoardSettings->m_CopperLayerCount - 2 )
Via->SetLayerPair( COPPER_LAYER_N, LAYER_CMP_N ); 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;
default:
// Usual via is from copper to component; layer pair is 0 and 0x0F.
Via->SetLayerPair( COPPER_LAYER_N, LAYER_CMP_N );
break;
} }
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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ...@@ -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[] = { ...@@ -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, ...@@ -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 { ...@@ -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, ...@@ -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, ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 :
......
...@@ -20,21 +20,21 @@ static int Pcbdiv_grille; /* memorisation temporaire */ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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[] = ...@@ -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[] = ...@@ -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 ...@@ -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 ) { ...@@ -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 ...@@ -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 ...@@ -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; ...@@ -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 ...@@ -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 ) ...@@ -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 ) ...@@ -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 = ...@@ -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[] = { ...@@ -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,
......
/**********************************************/ /**********************************************/
/* 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 @@ ...@@ -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 * Execute edit commands relative to vias
*/ */
{ {
int ii; int ii;
TRACK * via_struct ; TRACK* via_struct;
switch ( command_type ) switch( command_type )
{ {
case ID_POPUP_PCB_SELECT_VIASIZE1: case ID_POPUP_PCB_SELECT_VIASIZE1:
case ID_POPUP_PCB_SELECT_VIASIZE2: case ID_POPUP_PCB_SELECT_VIASIZE2:
case ID_POPUP_PCB_SELECT_VIASIZE3: case ID_POPUP_PCB_SELECT_VIASIZE3:
case ID_POPUP_PCB_SELECT_VIASIZE4: case ID_POPUP_PCB_SELECT_VIASIZE4:
case ID_POPUP_PCB_SELECT_VIASIZE5: case ID_POPUP_PCB_SELECT_VIASIZE5:
case ID_POPUP_PCB_SELECT_VIASIZE6: case ID_POPUP_PCB_SELECT_VIASIZE6:
case ID_POPUP_PCB_SELECT_VIASIZE7: case ID_POPUP_PCB_SELECT_VIASIZE7:
case ID_POPUP_PCB_SELECT_VIASIZE8: // selec the new current value for via size (via diameter) case ID_POPUP_PCB_SELECT_VIASIZE8: // selec the new current value for via size (via diameter)
DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema();
ii = command_type - ID_POPUP_PCB_SELECT_VIASIZE1; ii = command_type - ID_POPUP_PCB_SELECT_VIASIZE1;
g_DesignSettings.m_CurrentViaSize = g_DesignSettings.m_ViaSizeHistory[ii]; g_DesignSettings.m_CurrentViaSize = g_DesignSettings.m_ViaSizeHistory[ii];
DisplayTrackSettings(); DisplayTrackSettings();
break; break;
case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: // Enter a new alternate value for drill via case ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE: // Enter a new alternate value for drill via
InstallPcbOptionsFrame(wxDefaultPosition, DC, ID_PCB_TRACK_SIZE_SETUP); InstallPcbOptionsFrame( wxDefaultPosition, DC, ID_PCB_TRACK_SIZE_SETUP );
DrawPanel->MouseToCursorSchema(); 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) ) 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_XOR );
via->Draw(DrawPanel, DC, GR_OR); via->SetDrillValue( g_ViaHoleLastValue );
GetScreen()->SetModify(); via->Draw( DrawPanel, DC, GR_OR );
} GetScreen()->SetModify();
else DisplayError(this, _("Incorrect value for Via drill. No via drill change")); }
break; 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: // Export the current drill value as the new custom value
if( via->GetDrillValue() > 0 )
case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS:// Export the current drill value to via which have the same size g_ViaHoleLastValue = via->GetDrillValue();
if ( via->m_Drill > 0 ) g_ViaHoleLastValue = via->m_Drill; break;
via_struct = m_Pcb->m_Track ;
for ( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext ) case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: // Export the current drill value to via which have the same size
{ if( via->GetDrillValue() > 0 )
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */ g_ViaHoleLastValue = via->GetDrillValue();
{ via_struct = m_Pcb->m_Track;
if ( via_struct->m_Width != via->m_Width ) continue; for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
via_struct->Draw(DrawPanel, DC, GR_XOR); {
via_struct->m_Drill = via->m_Drill; if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
via_struct->Draw(DrawPanel, DC, GR_OR); {
} if( via_struct->m_Width != via->m_Width )
} continue;
GetScreen()->SetModify(); via_struct->Draw( DrawPanel, DC, GR_XOR );
break; via_struct->SetDrillValue( via->GetDrillValue() );
via_struct->Draw( DrawPanel, DC, GR_OR );
case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT: }
via->Draw(DrawPanel, DC, GR_XOR); }
via->m_Drill = -1;
via->Draw(DrawPanel, DC, GR_OR); GetScreen()->SetModify();
GetScreen()->SetModify(); break;
break;
case ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT:
case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: // Reset all via hole to default value via->Draw( DrawPanel, DC, GR_XOR );
via_struct = m_Pcb->m_Track ; via->SetDrillDefault();
for ( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext ) via->Draw( DrawPanel, DC, GR_OR );
{ GetScreen()->SetModify();
if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */ break;
{
if( via_struct->m_Drill != -1 ) case ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT: // Reset all via hole to default value
{ via_struct = m_Pcb->m_Track;
via_struct->Draw(DrawPanel, DC, GR_XOR); for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
via_struct->m_Drill = -1; {
via_struct->Draw(DrawPanel, DC, GR_OR); if( via_struct->Type() == TYPEVIA ) /* mise a jour du diametre de la via */
} {
} if( via_struct->IsDrillDefault() )
} {
GetScreen()->SetModify(); via_struct->Draw( DrawPanel, DC, GR_XOR );
break; via_struct->SetDrillDefault();
via_struct->Draw( DrawPanel, DC, GR_OR );
default: }
DisplayError( this, wxT("WinEDA_PcbFrame::Via_Edition() error: unknown command")); }
break; }
}
DrawPanel->MouseToCursorSchema(); GetScreen()->SetModify();
break;
default:
DisplayError( this, wxT( "WinEDA_PcbFrame::Via_Edition() error: unknown command" ) );
break;
}
DrawPanel->MouseToCursorSchema();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment