Commit c19e3785 authored by CHARRAS's avatar CHARRAS

Add some missing files and better DRC test

parent f27208a1
...@@ -4,6 +4,15 @@ Started 2007-June-11 ...@@ -4,6 +4,15 @@ 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-Jul-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
Some file are added (missing .prj files)
Better Drc test:
Zones can be tested.
better pad to pad test.
2007-Jul-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2007-Jul-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================ ================================================================================
** Some minor enhancements ** Some minor enhancements
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
COMMON_GLOBL wxString g_BuildVersion COMMON_GLOBL wxString g_BuildVersion
#ifdef EDA_BASE #ifdef EDA_BASE
(wxT("(2007-07-24)")) (wxT("(2007-07-30)"))
#endif #endif
; ;
......
...@@ -41,6 +41,10 @@ ...@@ -41,6 +41,10 @@
#define NEGATE_AND_NORMALIZE_ANGLE_POS(Angle) \ #define NEGATE_AND_NORMALIZE_ANGLE_POS(Angle) \
{ Angle = - Angle; while (Angle < 0) Angle += 3600; while (Angle >= 3600) Angle -= 3600; } { Angle = - Angle; while (Angle < 0) Angle += 3600; while (Angle >= 3600) Angle -= 3600; }
/* Normalize angle to be in the -90.0 .. 90.0 range */
#define NORMALIZE_ANGLE_90(Angle) { while (Angle < -900) Angle += 1800; \
while (Angle > 900) Angle -= 1800; }
/* exchange 2 donnees */ /* exchange 2 donnees */
#define EXCHG(a,b) { typeof(a) __temp__ = (a); (a) = (b); (b) = __temp__; } #define EXCHG(a,b) { typeof(a) __temp__ = (a); (a) = (b); (b) = __temp__; }
......
...@@ -565,7 +565,7 @@ public: ...@@ -565,7 +565,7 @@ public:
MODULE * ListAndSelectModuleName(void); MODULE * ListAndSelectModuleName(void);
void Liste_Equipot(wxCommandEvent & event); void Liste_Equipot(wxCommandEvent & event);
void Swap_Layers(wxCommandEvent & event); void Swap_Layers(wxCommandEvent & event);
int Test_DRC(wxDC * DC); int Test_DRC(wxDC * DC, bool TestPad2Pad, bool TestZone);
void Install_Test_DRC_Frame(wxDC * DC); void Install_Test_DRC_Frame(wxDC * DC);
void Trace_Pcb(wxDC * DC, int mode); void Trace_Pcb(wxDC * DC, int mode);
void Trace_PcbEdges(wxDC * DC, int mode_color); void Trace_PcbEdges(wxDC * DC, int mode_color);
...@@ -595,7 +595,7 @@ public: ...@@ -595,7 +595,7 @@ public:
void Erase_Pistes(wxDC * DC, int masque_type, bool query); void Erase_Pistes(wxDC * DC, int masque_type, bool query);
void Erase_Modules(wxDC * DC, bool query); void Erase_Modules(wxDC * DC, bool query);
void Erase_Textes_Pcb(wxDC * DC, bool query); void Erase_Textes_Pcb(wxDC * DC, bool query);
void Erase_Marqueurs(wxDC * DC, bool query); void Erase_Marqueurs(void);
void UnDeleteItem(wxDC * DC); void UnDeleteItem(wxDC * DC);
void RemoveStruct(EDA_BaseStruct * Item, wxDC * DC); void RemoveStruct(EDA_BaseStruct * Item, wxDC * DC);
void Via_Edit_Control(wxDC * DC, int command_type, SEGVIA * via); void Via_Edit_Control(wxDC * DC, int command_type, SEGVIA * via);
......
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: 2007-07-25 10:24+0100\n" "PO-Revision-Date: 2007-07-30 14:17+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"
...@@ -1493,7 +1493,7 @@ msgid "Compile" ...@@ -1493,7 +1493,7 @@ msgid "Compile"
msgstr "Compile" msgstr "Compile"
#: pcbnew/dialog_netlist.cpp:178 #: pcbnew/dialog_netlist.cpp:178
#: pcbnew/dialog_drc.cpp:164 #: pcbnew/dialog_drc.cpp:193
#: pcbnew/gendrill.cpp:254 #: pcbnew/gendrill.cpp:254
#: eeschema/plotps.cpp:207 #: eeschema/plotps.cpp:207
#: eeschema/netlist_control.cpp:124 #: eeschema/netlist_control.cpp:124
...@@ -1602,75 +1602,89 @@ msgstr "Inclure pistes autorout ...@@ -1602,75 +1602,89 @@ msgstr "Inclure pistes autorout
msgid "Include Locked Tracks" msgid "Include Locked Tracks"
msgstr "Inclure pistes verrouilles" msgstr "Inclure pistes verrouilles"
#: pcbnew/drc.cpp:65 #: pcbnew/drc.cpp:71
msgid "Look for active routes\n" msgid "Look for active routes\n"
msgstr "Recherche des chevelus actifs\n" msgstr "Recherche des chevelus actifs\n"
#: pcbnew/drc.cpp:71 #: pcbnew/drc.cpp:77
msgid "Unconnected found:\n" msgid "Unconnected found:\n"
msgstr "Non connect trouv:\n" msgstr "Non connect trouv:\n"
#: pcbnew/drc.cpp:76 #: pcbnew/drc.cpp:82
#, c-format #, c-format
msgid "%d > Pad %s (%s) @ %.4f,%.4f and " msgid "%d > Pad %s (%s) @ %.4f,%.4f and "
msgstr "%d > Pad %s (%s) @ %.4f,%.4f et " msgstr "%d > Pad %s (%s) @ %.4f,%.4f et "
#: pcbnew/drc.cpp:84 #: pcbnew/drc.cpp:90
#, c-format #, c-format
msgid "Pad %s (%s) @ %.4f,%.4f\n" msgid "Pad %s (%s) @ %.4f,%.4f\n"
msgstr "Pad %s (%s) @ %.4f,%.4f\n" msgstr "Pad %s (%s) @ %.4f,%.4f\n"
#: pcbnew/drc.cpp:89 #: pcbnew/drc.cpp:95
#, c-format #, c-format
msgid "Active routes: %d\n" msgid "Active routes: %d\n"
msgstr "Active routes: %d\n" msgstr "Active routes: %d\n"
#: pcbnew/drc.cpp:90 #: pcbnew/drc.cpp:96
msgid "OK! (No active routes)\n" msgid "OK! (No active routes)\n"
msgstr "OK! (Pas de chevelu actif)\n" msgstr "OK! (Pas de chevelu actif)\n"
#: pcbnew/drc.cpp:112 #: pcbnew/drc.cpp:122
#, c-format #, c-format
msgid "** End Drc: %d errors **\n" msgid "** End Drc: %d errors **\n"
msgstr "** FinDrc: %d erreurs **\n" msgstr "** FinDrc: %d erreurs **\n"
#: pcbnew/drc.cpp:114 #: pcbnew/drc.cpp:124
msgid "** End Drc: No Error **\n" msgid "** End Drc: No Error **\n"
msgstr "** Fin Drc: Aucune Erreur **\n" msgstr "** Fin Drc: Aucune Erreur **\n"
#: pcbnew/drc.cpp:229 #: pcbnew/drc.cpp:198
msgid "Tst Pad to Pad\n"
msgstr "Tst Pad to Pad\n"
#: pcbnew/drc.cpp:237
#: pcbnew/drc.cpp:301
msgid "SegmNb" msgid "SegmNb"
msgstr "SegmNb" msgstr "SegmNb"
#: pcbnew/drc.cpp:230 #: pcbnew/drc.cpp:238
msgid "Track Err" msgid "Track Err"
msgstr "Err Pistes" msgstr "Err Pistes"
#: pcbnew/drc.cpp:233 #: pcbnew/drc.cpp:241
msgid "Tst Tracks\n" msgid "Tst Tracks\n"
msgstr "Tst Pistes\n" msgstr "Tst Pistes\n"
#: pcbnew/drc.cpp:252 #: pcbnew/drc.cpp:265
#: pcbnew/drc.cpp:330
#: eeschema/eelayer.cpp:141 #: eeschema/eelayer.cpp:141
msgid "Netname" msgid "Netname"
msgstr "NetName" msgstr "NetName"
#: pcbnew/drc.cpp:950 #: pcbnew/drc.cpp:302
msgid "Zone Err"
msgstr "Err. Zone"
#: pcbnew/drc.cpp:304
msgid "Tst Zones\n"
msgstr "Test Zones\n"
#: pcbnew/drc.cpp:1119
#, c-format #, c-format
msgid "%d Drc Err %d PAD %s (%s) @ %d,%d\n" msgid "%d Drc Err %d PAD %s (%s) @ %d,%d\n"
msgstr "%d Err Drc %d PAD %s (%s) @ %d,%d\n" msgstr "%d Err Drc %d PAD %s (%s) @ %d,%d\n"
#: pcbnew/drc.cpp:961 #: pcbnew/drc.cpp:1130
#, c-format #, c-format
msgid "%d Err type %d: sur VIA @ %d,%d\n" msgid "%d Err type %d: sur VIA @ %d,%d\n"
msgstr "%d Err type %d: sur VIA @ %d,%d\n" msgstr "%d Err type %d: sur VIA @ %d,%d\n"
#: pcbnew/drc.cpp:972 #: pcbnew/drc.cpp:1141
#, c-format #, c-format
msgid "%d Err type %d: sur SEGMENT @ %d,%d\n" msgid "%d Err type %d: sur SEGMENT @ %d,%d\n"
msgstr "%d Err type %d: sur SEGMENT @ %d,%d\n" msgstr "%d Err type %d: sur SEGMENT @ %d,%d\n"
#: pcbnew/drc.cpp:1007 #: pcbnew/drc.cpp:1176
#, c-format #, c-format
msgid "%d Drc Err: PAD %s (%s) @ %d,%d and PAD %s (%s) @ %d,%d\n" msgid "%d Drc Err: PAD %s (%s) @ %d,%d and PAD %s (%s) @ %d,%d\n"
msgstr "%d Err Drc: PAD %s (%s) @ %d,%d et PAD %s (%s) @ %d,%d\n" msgstr "%d Err Drc: PAD %s (%s) @ %d,%d et PAD %s (%s) @ %d,%d\n"
...@@ -1857,11 +1871,11 @@ msgstr "Effacement contour" ...@@ -1857,11 +1871,11 @@ msgstr "Effacement contour"
msgid "Set Width" msgid "Set Width"
msgstr "Ajuste Epaiss" msgstr "Ajuste Epaiss"
#: pcbnew/class_pad.cpp:629 #: pcbnew/class_pad.cpp:630
msgid "Unknown Pad shape" msgid "Unknown Pad shape"
msgstr "Forme pad inconnue" msgstr "Forme pad inconnue"
#: pcbnew/class_pad.cpp:697 #: pcbnew/class_pad.cpp:698
#: pcbnew/affiche.cpp:76 #: pcbnew/affiche.cpp:76
#: pcbnew/affiche.cpp:266 #: pcbnew/affiche.cpp:266
#: pcbnew/class_module.cpp:1060 #: pcbnew/class_module.cpp:1060
...@@ -1869,15 +1883,15 @@ msgstr "Forme pad inconnue" ...@@ -1869,15 +1883,15 @@ msgstr "Forme pad inconnue"
msgid "Module" msgid "Module"
msgstr "Module" msgstr "Module"
#: pcbnew/class_pad.cpp:700 #: pcbnew/class_pad.cpp:701
msgid "RefP" msgid "RefP"
msgstr "RefP" msgstr "RefP"
#: pcbnew/class_pad.cpp:703 #: pcbnew/class_pad.cpp:704
msgid "Net" msgid "Net"
msgstr "Net" msgstr "Net"
#: pcbnew/class_pad.cpp:769 #: pcbnew/class_pad.cpp:770
#: pcbnew/affiche.cpp:36 #: pcbnew/affiche.cpp:36
#: pcbnew/affiche.cpp:91 #: pcbnew/affiche.cpp:91
#: pcbnew/affiche.cpp:95 #: pcbnew/affiche.cpp:95
...@@ -1890,21 +1904,21 @@ msgstr "Net" ...@@ -1890,21 +1904,21 @@ msgstr "Net"
msgid "Layer" msgid "Layer"
msgstr "Couche" msgstr "Couche"
#: pcbnew/class_pad.cpp:781 #: pcbnew/class_pad.cpp:782
#: pcbnew/affiche.cpp:53 #: pcbnew/affiche.cpp:53
#: pcbnew/affiche.cpp:109 #: pcbnew/affiche.cpp:109
#: gerbview/affiche.cpp:49 #: gerbview/affiche.cpp:49
msgid "H Size" msgid "H Size"
msgstr "Taille H" msgstr "Taille H"
#: pcbnew/class_pad.cpp:785 #: pcbnew/class_pad.cpp:786
#: pcbnew/affiche.cpp:56 #: pcbnew/affiche.cpp:56
#: pcbnew/affiche.cpp:112 #: pcbnew/affiche.cpp:112
#: gerbview/affiche.cpp:52 #: gerbview/affiche.cpp:52
msgid "V Size" msgid "V Size"
msgstr "Taille V" msgstr "Taille V"
#: pcbnew/class_pad.cpp:791 #: pcbnew/class_pad.cpp:792
#: pcbnew/affiche.cpp:208 #: pcbnew/affiche.cpp:208
#: pcbnew/affiche.cpp:210 #: pcbnew/affiche.cpp:210
#: pcbnew/gendrill.cpp:398 #: pcbnew/gendrill.cpp:398
...@@ -1912,11 +1926,11 @@ msgstr "Taille V" ...@@ -1912,11 +1926,11 @@ msgstr "Taille V"
msgid "Drill" msgid "Drill"
msgstr "Perage" msgstr "Perage"
#: pcbnew/class_pad.cpp:799 #: pcbnew/class_pad.cpp:800
msgid "Drill X / Y" msgid "Drill X / Y"
msgstr "Perage X/Y" msgstr "Perage X/Y"
#: pcbnew/class_pad.cpp:810 #: pcbnew/class_pad.cpp:811
#: pcbnew/affiche.cpp:47 #: pcbnew/affiche.cpp:47
#: pcbnew/affiche.cpp:103 #: pcbnew/affiche.cpp:103
#: pcbnew/class_module.cpp:1057 #: pcbnew/class_module.cpp:1057
...@@ -1926,11 +1940,11 @@ msgstr "Per ...@@ -1926,11 +1940,11 @@ msgstr "Per
msgid "Orient" msgid "Orient"
msgstr "Orient" msgstr "Orient"
#: pcbnew/class_pad.cpp:814 #: pcbnew/class_pad.cpp:815
msgid "X Pos" msgid "X Pos"
msgstr "X Pos" msgstr "X Pos"
#: pcbnew/class_pad.cpp:818 #: pcbnew/class_pad.cpp:819
msgid "Y pos" msgid "Y pos"
msgstr "Y pos" msgstr "Y pos"
...@@ -2002,7 +2016,7 @@ msgid "Track Width" ...@@ -2002,7 +2016,7 @@ msgid "Track Width"
msgstr "Epais. Piste" msgstr "Epais. Piste"
#: pcbnew/dialog_track_options.cpp:164 #: pcbnew/dialog_track_options.cpp:164
#: pcbnew/dialog_drc.cpp:133 #: pcbnew/dialog_drc.cpp:141
msgid "Clearance" msgid "Clearance"
msgstr "Isolation" msgstr "Isolation"
...@@ -2538,23 +2552,53 @@ msgstr "Effacer" ...@@ -2538,23 +2552,53 @@ msgstr "Effacer"
msgid "Pcb Text" msgid "Pcb Text"
msgstr "Texte Pcb" msgstr "Texte Pcb"
#: pcbnew/dialog_drc.cpp:145 #: pcbnew/dialog_drc.cpp:137
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:43
msgid "Options"
msgstr "Options"
#: pcbnew/dialog_drc.cpp:149
msgid "Test Drc:"
msgstr "Test Drc:"
#: pcbnew/dialog_drc.cpp:153
msgid "Include pad to pad test"
msgstr "Inclure test pad pad"
#: pcbnew/dialog_drc.cpp:157
msgid "Include unconnected"
msgstr "Inclure non connexions"
#: pcbnew/dialog_drc.cpp:161
#: pcbnew/block.cpp:136
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/dialog_drc.cpp:174
msgid "Test Drc" msgid "Test Drc"
msgstr "Test Drc" msgstr "Test Drc"
#: pcbnew/dialog_drc.cpp:149 #: pcbnew/dialog_drc.cpp:178
msgid "Stop Drc" msgid "Stop Drc"
msgstr "Stop Drc" msgstr "Stop Drc"
#: pcbnew/dialog_drc.cpp:156 #: pcbnew/dialog_drc.cpp:185
msgid "Del Markers" msgid "Del Markers"
msgstr "Supprimer Marqueurs" msgstr "Supprimer Marqueurs"
#: pcbnew/dialog_drc.cpp:160 #: pcbnew/dialog_drc.cpp:189
msgid "List Unconn" msgid "List Unconn"
msgstr "Liste Non Conn." msgstr "Liste Non Conn."
#: pcbnew/dialog_drc.cpp:167 #: pcbnew/dialog_drc.cpp:196
#: common/svg_print.cpp:232 #: common/svg_print.cpp:232
#: share/svg_print.cpp:232 #: share/svg_print.cpp:232
msgid "Messages:" msgid "Messages:"
...@@ -2568,10 +2612,6 @@ msgstr "Inclure Modules" ...@@ -2568,10 +2612,6 @@ msgstr "Inclure Modules"
msgid "Include tracks" msgid "Include tracks"
msgstr "Inclure Pistes" msgstr "Inclure Pistes"
#: pcbnew/block.cpp:136
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/block.cpp:141 #: pcbnew/block.cpp:141
msgid "Include Text on copper layers" msgid "Include Text on copper layers"
msgstr "Inclure Texte sur couches cuivre" msgstr "Inclure Texte sur couches cuivre"
...@@ -2692,7 +2732,7 @@ msgstr "Pads: Edition globale" ...@@ -2692,7 +2732,7 @@ msgstr "Pads: Edition globale"
#: pcbnew/menubarpcb.cpp:205 #: pcbnew/menubarpcb.cpp:205
#: pcbnew/menubarmodedit.cpp:45 #: pcbnew/menubarmodedit.cpp:45
#: pcbnew/tool_modedit.cpp:125 #: pcbnew/tool_modedit.cpp:125
#: pcbnew/modedit.cpp:365 #: pcbnew/modedit.cpp:299
msgid "Pad Settings" msgid "Pad Settings"
msgstr "Caract pads" msgstr "Caract pads"
...@@ -2804,11 +2844,11 @@ msgstr "Impossible de cr ...@@ -2804,11 +2844,11 @@ msgstr "Impossible de cr
msgid "Create temporary file " msgid "Create temporary file "
msgstr "Creation fichier temporaire " msgstr "Creation fichier temporaire "
#: pcbnew/router.cpp:525 #: pcbnew/router.cpp:526
msgid "Unable to find data file " msgid "Unable to find data file "
msgstr "Impossible de trouver le fichier de donnes " msgstr "Impossible de trouver le fichier de donnes "
#: pcbnew/router.cpp:531 #: pcbnew/router.cpp:532
msgid "Reading autorouter data file " msgid "Reading autorouter data file "
msgstr "Lecture fichier donnes de l'autorouteur" msgstr "Lecture fichier donnes de l'autorouteur"
...@@ -4104,7 +4144,7 @@ msgid "Local Ratsnest" ...@@ -4104,7 +4144,7 @@ msgid "Local Ratsnest"
msgstr "Monter le chevelu gnral" msgstr "Monter le chevelu gnral"
#: pcbnew/edit.cpp:720 #: pcbnew/edit.cpp:720
#: pcbnew/modedit.cpp:393 #: pcbnew/modedit.cpp:327
#: eeschema/schedit.cpp:443 #: eeschema/schedit.cpp:443
#: eeschema/libframe.cpp:554 #: eeschema/libframe.cpp:554
msgid "Delete item" msgid "Delete item"
...@@ -4625,7 +4665,7 @@ msgid "Add Pads" ...@@ -4625,7 +4665,7 @@ msgid "Add Pads"
msgstr "Addition de \"pins\"" msgstr "Addition de \"pins\""
#: pcbnew/tool_modedit.cpp:175 #: pcbnew/tool_modedit.cpp:175
#: pcbnew/modedit.cpp:379 #: pcbnew/modedit.cpp:313
msgid "Place anchor" msgid "Place anchor"
msgstr "Place Ancre" msgstr "Place Ancre"
...@@ -4652,11 +4692,35 @@ msgstr "Grille %.1f" ...@@ -4652,11 +4692,35 @@ msgstr "Grille %.1f"
msgid "Grid %.3f" msgid "Grid %.3f"
msgstr "Grille %.3f" msgstr "Grille %.3f"
#: pcbnew/modedit.cpp:362 #: pcbnew/modedit.cpp:175
msgid "Unable to find the footprint source on the main board"
msgstr "Impossible de trouver le module source sur le PCB principal"
#: pcbnew/modedit.cpp:176
msgid ""
"\n"
"Cannot update the footprint"
msgstr ""
"\n"
"Ne peut mettre jour le module"
#: pcbnew/modedit.cpp:184
msgid "A footprint source was found on the main board"
msgstr "Un module source a t trouv sur le PCB principal"
#: pcbnew/modedit.cpp:185
msgid ""
"\n"
"Cannot insert this footprint"
msgstr ""
"\n"
"Ne peut insrer cd module"
#: pcbnew/modedit.cpp:296
msgid "Add Pad" msgid "Add Pad"
msgstr "Ajouter Pastilles" msgstr "Ajouter Pastilles"
#: pcbnew/modedit.cpp:375 #: pcbnew/modedit.cpp:309
#: eeschema/schedit.cpp:293 #: eeschema/schedit.cpp:293
msgid "Add Drawing" msgid "Add Drawing"
msgstr "Ajout d'lments graphiques" msgstr "Ajout d'lments graphiques"
...@@ -4718,18 +4782,6 @@ msgstr "Erreur sur ...@@ -4718,18 +4782,6 @@ msgstr "Erreur sur
msgid "Componant properties" msgid "Componant properties"
msgstr "Proprits du composant" msgstr "Proprits du composant"
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:43
msgid "Options"
msgstr "Options"
#: eeschema/fieldedi.cpp:226 #: eeschema/fieldedi.cpp:226
msgid " General : " msgid " General : "
msgstr " Gnral :" msgstr " Gnral :"
...@@ -9753,10 +9805,6 @@ msgstr "Nbr segm = %d, Longueur = " ...@@ -9753,10 +9805,6 @@ msgstr "Nbr segm = %d, Longueur = "
msgid "Find" msgid "Find"
msgstr "Trouver" msgstr "Trouver"
#: pcbnew/dialog_drc.h:43
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/dialog_pad_edit.h:43 #: pcbnew/dialog_pad_edit.h:43
msgid "Pad properties" msgid "Pad properties"
msgstr "Proprits des Pads" msgstr "Proprits des Pads"
...@@ -9781,6 +9829,10 @@ msgstr "Netliste: " ...@@ -9781,6 +9829,10 @@ msgstr "Netliste: "
msgid "General Options" msgid "General Options"
msgstr "Options gnrales" msgstr "Options gnrales"
#: pcbnew/dialog_drc.h:53
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/win_eda_cleaningoptionsframe.h:50 #: pcbnew/win_eda_cleaningoptionsframe.h:50
#: pcbnew/cleaningoptions_dialog.h:48 #: pcbnew/cleaningoptions_dialog.h:48
msgid "Cleaning options" msgid "Cleaning options"
......
...@@ -477,15 +477,16 @@ wxPoint shape_pos; ...@@ -477,15 +477,16 @@ wxPoint shape_pos;
} }
/* Trace de la reference */ /* Trace de la reference */
if( ! frame->m_DisplayPadNum) return; if( ! frame->m_DisplayPadNum) return;
dx = min(m_Size.x, m_Size.y); /* dx = taille du texte */ dx = min(m_Size.x, m_Size.y); /* dx = text size */
if( (dx / zoom) > 12 ) /* Si taille suffisante pour 2 lettres */ if( (dx / zoom) > 12 ) /* size must be enought to draw 2 chars */
{ {
wxString buffer; wxString buffer;
ReturnStringPadName(buffer); ReturnStringPadName(buffer);
dy = buffer.Len(); dy = buffer.Len();
if ( dy < 2 ) dy = 2; /* alignement sur textes a 2 lettres */ /* Draw text with an angle between -90 deg and + 90 deg */
dx = (dx * 9 ) / (dy * 13 ); /* le texte est ajuste pour NORMALIZE_ANGLE_90(angle);
tenir entierement dans la pastille */ if ( dy < 2 ) dy = 2; /* text min size is 2 char */
dx = (dx * 9 ) / (dy * 13 ); /* Text size ajusted to pad size */
DrawGraphicText(panel, DC, wxPoint(ux0, uy0), DrawGraphicText(panel, DC, wxPoint(ux0, uy0),
WHITE, buffer, angle, wxSize(dx, dx), WHITE, buffer, angle, wxSize(dx, dx),
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER); GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER);
......
...@@ -25,7 +25,7 @@ class D_PAD: public EDA_BaseStruct ...@@ -25,7 +25,7 @@ class D_PAD: public EDA_BaseStruct
public: public:
union { union {
unsigned long m_NumPadName; unsigned long m_NumPadName;
char m_Padname[4] ; /* nom (numero) de la pastille (assimilatble a un long)*/ char m_Padname[4] ; /* nom (numero) de la pastille (assimilable a un long)*/
}; };
wxString m_Netname; /* Net Name */ wxString m_Netname; /* Net Name */
int m_Masque_Layer; // (Bit a Bit :1= cuivre, 15= cmp, int m_Masque_Layer; // (Bit a Bit :1= cuivre, 15= cmp,
......
This diff is collapsed.
...@@ -47,6 +47,8 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog ) ...@@ -47,6 +47,8 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog )
BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog ) BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog )
////@begin WinEDA_DrcFrame event table entries ////@begin WinEDA_DrcFrame event table entries
EVT_CLOSE( WinEDA_DrcFrame::OnCloseWindow )
EVT_BUTTON( ID_DRC_RUN, WinEDA_DrcFrame::OnDrcRunClick ) EVT_BUTTON( ID_DRC_RUN, WinEDA_DrcFrame::OnDrcRunClick )
EVT_BUTTON( ID_STOP_CONTROL_DRC, WinEDA_DrcFrame::OnStopControlDrcClick ) EVT_BUTTON( ID_STOP_CONTROL_DRC, WinEDA_DrcFrame::OnStopControlDrcClick )
...@@ -93,16 +95,21 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c ...@@ -93,16 +95,21 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c
m_CommandSizer = NULL; m_CommandSizer = NULL;
m_ClearenceTitle = NULL; m_ClearenceTitle = NULL;
m_SetClearance = NULL; m_SetClearance = NULL;
m_Pad2PadTestCtrl = NULL;
m_UnconnectedTestCtrl = NULL;
m_ZonesTestCtrl = NULL;
m_logWindow = NULL; m_logWindow = NULL;
////@end WinEDA_DrcFrame member initialisation ////@end WinEDA_DrcFrame member initialisation
////@begin WinEDA_DrcFrame creation ////@begin WinEDA_DrcFrame creation
SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
wxDialog::Create( parent, id, caption, pos, size, style ); wxDialog::Create( parent, id, caption, pos, size, style );
CreateControls(); CreateControls();
GetSizer()->Fit(this); if (GetSizer())
{
GetSizer()->SetSizeHints(this); GetSizer()->SetSizeHints(this);
}
Centre(); Centre();
////@end WinEDA_DrcFrame creation ////@end WinEDA_DrcFrame creation
return true; return true;
...@@ -117,7 +124,7 @@ void WinEDA_DrcFrame::CreateControls() ...@@ -117,7 +124,7 @@ void WinEDA_DrcFrame::CreateControls()
SetFont(*g_DialogFont); SetFont(*g_DialogFont);
////@begin WinEDA_DrcFrame content construction ////@begin WinEDA_DrcFrame content construction
// Generated by DialogBlocks, 27/02/2006 21:15:33 (unregistered) // Generated by DialogBlocks, 30/07/2007 12:44:15 (unregistered)
WinEDA_DrcFrame* itemDialog1 = this; WinEDA_DrcFrame* itemDialog1 = this;
...@@ -127,49 +134,75 @@ void WinEDA_DrcFrame::CreateControls() ...@@ -127,49 +134,75 @@ void WinEDA_DrcFrame::CreateControls()
m_CommandSizer = new wxBoxSizer(wxHORIZONTAL); m_CommandSizer = new wxBoxSizer(wxHORIZONTAL);
m_MainSizer->Add(m_CommandSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); m_MainSizer->Add(m_CommandSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL); wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options"));
m_CommandSizer->Add(itemBoxSizer4, 0, wxGROW|wxALL, 5); wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL);
m_CommandSizer->Add(itemStaticBoxSizer4, 0, wxGROW|wxALL, 5);
m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 ); m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemStaticBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 ); m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); itemStaticBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
itemStaticBoxSizer4->Add(5, 5, 0, wxGROW|wxALL, 5);
wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Test Drc:"));
wxStaticBoxSizer* itemStaticBoxSizer8 = new wxStaticBoxSizer(itemStaticBoxSizer8Static, wxVERTICAL);
itemStaticBoxSizer4->Add(itemStaticBoxSizer8, 0, wxGROW|wxALL, 5);
m_Pad2PadTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_PAD2PAD, _("Include pad to pad test"), wxDefaultPosition, wxDefaultSize, 0 );
m_Pad2PadTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_Pad2PadTestCtrl, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL); m_UnconnectedTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX, _("Include unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
m_CommandSizer->Add(itemBoxSizer7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_UnconnectedTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_UnconnectedTestCtrl, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxVERTICAL); m_ZonesTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_TEST_ZONES, _("Include zones"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer7->Add(itemBoxSizer8, 0, wxGROW|wxALL, 5); m_ZonesTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5);
wxButton* itemButton9 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
itemButton9->SetForegroundColour(wxColour(202, 0, 0)); m_CommandSizer->Add(itemBoxSizer12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
itemBoxSizer8->Add(itemButton9, 0, wxGROW|wxALL, 5);
wxButton* itemButton10 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
itemButton10->SetForegroundColour(wxColour(0, 128, 128)); itemBoxSizer12->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
itemBoxSizer8->Add(itemButton10, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer7->Add(itemBoxSizer11, 0, wxGROW|wxALL, 5); itemBoxSizer13->Add(itemBoxSizer14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton12 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 ); wxButton* itemButton15 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton12->SetForegroundColour(wxColour(0, 128, 0)); itemButton15->SetForegroundColour(wxColour(202, 0, 0));
itemBoxSizer11->Add(itemButton12, 0, wxGROW|wxALL, 5); itemBoxSizer14->Add(itemButton15, 0, wxGROW|wxALL, 5);
wxButton* itemButton13 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 ); wxButton* itemButton16 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton13->SetForegroundColour(wxColour(0, 0, 255)); itemButton16->SetForegroundColour(wxColour(0, 128, 128));
itemBoxSizer11->Add(itemButton13, 0, wxGROW|wxALL, 5); itemBoxSizer14->Add(itemButton16, 0, wxGROW|wxALL, 5);
wxButton* itemButton14 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer11->Add(itemButton14, 0, wxGROW|wxALL, 5); itemBoxSizer13->Add(itemBoxSizer17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxStaticText* itemStaticText15 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 ); wxButton* itemButton18 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 );
m_MainSizer->Add(itemStaticText15, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemButton18->SetForegroundColour(wxColour(0, 128, 0));
itemBoxSizer17->Add(itemButton18, 0, wxGROW|wxALL, 5);
wxButton* itemButton19 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton19->SetForegroundColour(wxColour(0, 0, 255));
itemBoxSizer17->Add(itemButton19, 0, wxGROW|wxALL, 5);
wxButton* itemButton20 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer12->Add(itemButton20, 0, wxGROW|wxALL, 5);
wxStaticText* itemStaticText21 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
m_MainSizer->Add(itemStaticText21, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY ); m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY );
m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
// Set validators
m_Pad2PadTestCtrl->SetValidator( wxGenericValidator(& s_Pad2PadTestOpt) );
m_UnconnectedTestCtrl->SetValidator( wxGenericValidator(& s_UnconnectedTestOpt) );
m_ZonesTestCtrl->SetValidator( wxGenericValidator(& s_ZonesTestOpt) );
////@end WinEDA_DrcFrame content construction ////@end WinEDA_DrcFrame content construction
AddUnitSymbol(*m_ClearenceTitle); AddUnitSymbol(*m_ClearenceTitle);
...@@ -252,7 +285,25 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event ) ...@@ -252,7 +285,25 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event )
void WinEDA_DrcFrame::OnCloseClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnCloseClick( wxCommandEvent& event )
{ {
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
Close(); Close();
} }
/*!
* wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
*/
void WinEDA_DrcFrame::OnCloseWindow( wxCloseEvent& event )
{
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
event.Skip();
}
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
*/ */
////@begin includes ////@begin includes
#include "wx/valgen.h"
////@end includes ////@end includes
/*! /*!
...@@ -39,17 +40,20 @@ class wxBoxSizer; ...@@ -39,17 +40,20 @@ class wxBoxSizer;
////@begin control identifiers ////@begin control identifiers
#define ID_DIALOG 10000 #define ID_DIALOG 10000
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition
#define ID_TEXTCTRL1 10002 #define ID_TEXTCTRL1 10002
#define ID_CHECKBOX_PAD2PAD 10009
#define ID_CHECKBOX 10008
#define ID_CHECKBOX_TEST_ZONES 10007
#define ID_DRC_RUN 10003 #define ID_DRC_RUN 10003
#define ID_STOP_CONTROL_DRC 10004 #define ID_STOP_CONTROL_DRC 10004
#define ID_ERASE_DRC_MARKERS 10005 #define ID_ERASE_DRC_MARKERS 10005
#define ID_LIST_UNCONNECTED_PADS 10006 #define ID_LIST_UNCONNECTED_PADS 10006
#define ID_TEXTCTRL 10001 #define ID_TEXTCTRL 10001
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition
////@end control identifiers ////@end control identifiers
/*! /*!
...@@ -83,6 +87,9 @@ public: ...@@ -83,6 +87,9 @@ public:
////@begin WinEDA_DrcFrame event handler declarations ////@begin WinEDA_DrcFrame event handler declarations
/// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
void OnCloseWindow( wxCloseEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN
void OnDrcRunClick( wxCommandEvent& event ); void OnDrcRunClick( wxCommandEvent& event );
...@@ -121,6 +128,9 @@ public: ...@@ -121,6 +128,9 @@ public:
wxBoxSizer* m_CommandSizer; wxBoxSizer* m_CommandSizer;
wxStaticText* m_ClearenceTitle; wxStaticText* m_ClearenceTitle;
wxTextCtrl* m_SetClearance; wxTextCtrl* m_SetClearance;
wxCheckBox* m_Pad2PadTestCtrl;
wxCheckBox* m_UnconnectedTestCtrl;
wxCheckBox* m_ZonesTestCtrl;
wxTextCtrl* m_logWindow; wxTextCtrl* m_logWindow;
////@end WinEDA_DrcFrame member variables ////@end WinEDA_DrcFrame member variables
WinEDA_PcbFrame * m_Parent; WinEDA_PcbFrame * m_Parent;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -90,7 +90,7 @@ wxClientDC dc(m_Parent->DrawPanel); ...@@ -90,7 +90,7 @@ wxClientDC dc(m_Parent->DrawPanel);
if ( m_DelMarkers->GetValue() ) if ( m_DelMarkers->GetValue() )
{ {
m_Parent->Erase_Marqueurs(&dc, FALSE); m_Parent->Erase_Marqueurs();
redraw = TRUE; redraw = TRUE;
} }
...@@ -335,9 +335,9 @@ EDA_BaseStruct * PtStruct, *PtNext; ...@@ -335,9 +335,9 @@ EDA_BaseStruct * PtStruct, *PtNext;
} }
/************************************************************/ /*******************************************/
void WinEDA_PcbFrame::Erase_Marqueurs(wxDC * DC, bool query) void WinEDA_PcbFrame::Erase_Marqueurs(void)
/************************************************************/ /*******************************************/
{ {
EDA_BaseStruct * PtStruct, *PtNext; EDA_BaseStruct * PtStruct, *PtNext;
......
...@@ -70,6 +70,7 @@ int net_number; ...@@ -70,6 +70,7 @@ int net_number;
Compile_Ratsnest(DC, TRUE); Compile_Ratsnest(DC, TRUE);
m_Pcb->ComputeBoundaryBox(); m_Pcb->ComputeBoundaryBox();
g_GridRoutingSize = GetScreen()->GetGrid().x;
// Sortie de la dimension hors tout du pcb (dimensions + marge + g_GridRoutingSize) // Sortie de la dimension hors tout du pcb (dimensions + marge + g_GridRoutingSize)
#define B_MARGE 1000 // en 1/10000 inch #define B_MARGE 1000 // en 1/10000 inch
......
This diff is collapsed.
This diff is collapsed.
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