use wxFormBuilder in dialog zone, and minor enhancements
This commit is contained in:
parent
b18eedb432
commit
ca51c6eb1c
Binary file not shown.
|
@ -2,8 +2,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: kicad\n"
|
"Project-Id-Version: kicad\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-10-07 20:39+0100\n"
|
"POT-Creation-Date: 2008-10-09 22:04+0100\n"
|
||||||
"PO-Revision-Date: 2008-10-07 20:47+0100\n"
|
"PO-Revision-Date: 2008-10-09 22:05+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"
|
||||||
|
@ -347,7 +347,7 @@ msgstr "dimension"
|
||||||
#: pcbnew/class_marker.cpp:133
|
#: pcbnew/class_marker.cpp:133
|
||||||
#: pcbnew/class_text_mod.cpp:503
|
#: pcbnew/class_text_mod.cpp:503
|
||||||
#: pcbnew/class_track.cpp:852
|
#: pcbnew/class_track.cpp:852
|
||||||
#: pcbnew/class_zone.cpp:722
|
#: pcbnew/class_zone.cpp:758
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ msgstr "Segment"
|
||||||
#: pcbnew/class_pcb_text.cpp:190
|
#: pcbnew/class_pcb_text.cpp:190
|
||||||
#: pcbnew/class_text_mod.cpp:516
|
#: pcbnew/class_text_mod.cpp:516
|
||||||
#: pcbnew/class_track.cpp:909
|
#: pcbnew/class_track.cpp:909
|
||||||
#: pcbnew/class_zone.cpp:756
|
#: pcbnew/class_zone.cpp:792
|
||||||
msgid "Layer"
|
msgid "Layer"
|
||||||
msgstr "Couche"
|
msgstr "Couche"
|
||||||
|
|
||||||
|
@ -571,12 +571,12 @@ msgid "Display"
|
||||||
msgstr "Affichage"
|
msgstr "Affichage"
|
||||||
|
|
||||||
#: pcbnew/class_track.cpp:868
|
#: pcbnew/class_track.cpp:868
|
||||||
#: pcbnew/class_zone.cpp:744
|
#: pcbnew/class_zone.cpp:780
|
||||||
msgid "NetName"
|
msgid "NetName"
|
||||||
msgstr "NetName"
|
msgstr "NetName"
|
||||||
|
|
||||||
#: pcbnew/class_track.cpp:873
|
#: pcbnew/class_track.cpp:873
|
||||||
#: pcbnew/class_zone.cpp:752
|
#: pcbnew/class_zone.cpp:788
|
||||||
msgid "NetCode"
|
msgid "NetCode"
|
||||||
msgstr "NetCode"
|
msgstr "NetCode"
|
||||||
|
|
||||||
|
@ -588,26 +588,30 @@ msgstr "Standard"
|
||||||
msgid "Diam"
|
msgid "Diam"
|
||||||
msgstr "Diam"
|
msgstr "Diam"
|
||||||
|
|
||||||
#: pcbnew/class_zone.cpp:747
|
#: pcbnew/class_zone.cpp:783
|
||||||
msgid "Non Copper Zone"
|
msgid "Non Copper Zone"
|
||||||
msgstr "Zone non Cuivre"
|
msgstr "Zone non Cuivre"
|
||||||
|
|
||||||
#: pcbnew/class_zone.cpp:760
|
#: pcbnew/class_zone.cpp:796
|
||||||
msgid "Corners"
|
msgid "Corners"
|
||||||
msgstr "Sommets"
|
msgstr "Sommets"
|
||||||
|
|
||||||
#: pcbnew/class_zone.cpp:765
|
#: pcbnew/class_zone.cpp:802
|
||||||
msgid "No Grid"
|
msgid "No Grid"
|
||||||
msgstr "Pas de Grille"
|
msgstr "Pas de Grille"
|
||||||
|
|
||||||
#: pcbnew/class_zone.cpp:766
|
#: pcbnew/class_zone.cpp:803
|
||||||
msgid "Fill Grid"
|
msgid "Fill Grid"
|
||||||
msgstr "Grille de Remplissage"
|
msgstr "Grille de Remplissage"
|
||||||
|
|
||||||
#: pcbnew/class_zone.cpp:770
|
#: pcbnew/class_zone.cpp:808
|
||||||
msgid "Hatch lines"
|
msgid "Hatch lines"
|
||||||
msgstr "Lignes de Hachure"
|
msgstr "Lignes de Hachure"
|
||||||
|
|
||||||
|
#: pcbnew/class_zone.cpp:814
|
||||||
|
msgid "Corners in DrawList"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pcbnew/clean.cpp:179
|
#: pcbnew/clean.cpp:179
|
||||||
msgid "Delete unconnected tracks:"
|
msgid "Delete unconnected tracks:"
|
||||||
msgstr "Suppression Pistes non connectées"
|
msgstr "Suppression Pistes non connectées"
|
||||||
|
@ -1841,101 +1845,6 @@ msgstr "Epais. Piste"
|
||||||
msgid "Mask clearance"
|
msgid "Mask clearance"
|
||||||
msgstr "Retrait Masque"
|
msgstr "Retrait Masque"
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:153
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:154
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:155
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:156
|
|
||||||
msgid "0.00000"
|
|
||||||
msgstr "0.00000"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:157
|
|
||||||
msgid "No Grid (For tests only!)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:158
|
|
||||||
msgid "Grid Size for Filling:"
|
|
||||||
msgstr "Taille de Grille pour Remplissage:"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:162
|
|
||||||
msgid "Zone clearance value (mm):"
|
|
||||||
msgstr "Valeur isolation zone (mm):"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:170
|
|
||||||
msgid "Hatched Outline"
|
|
||||||
msgstr "Contour Hachuré"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:171
|
|
||||||
msgid "Full Hatched"
|
|
||||||
msgstr "Pleinement Hachuré"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:172
|
|
||||||
msgid "Outlines Appearance"
|
|
||||||
msgstr "Aspect des Contours"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:182
|
|
||||||
msgid "Include Pads"
|
|
||||||
msgstr "Inclure Pads"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:183
|
|
||||||
msgid "Thermal"
|
|
||||||
msgstr "Thermique"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:184
|
|
||||||
msgid "Exclude Pads"
|
|
||||||
msgstr "Exclure Pads"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:185
|
|
||||||
msgid "Pad options:"
|
|
||||||
msgstr "Options pads"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:192
|
|
||||||
msgid "Any"
|
|
||||||
msgstr "Tout"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:193
|
|
||||||
msgid "H , V and 45 deg"
|
|
||||||
msgstr "H, V et 45 deg"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:194
|
|
||||||
msgid "Zone edges orient:"
|
|
||||||
msgstr "Direction contours zone:"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:213
|
|
||||||
msgid "Alphabetic"
|
|
||||||
msgstr "Alphabetique"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:214
|
|
||||||
msgid "Advanced"
|
|
||||||
msgstr "Avancé"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:215
|
|
||||||
msgid "Net sorting:"
|
|
||||||
msgstr "Tri des Equipotentielles:"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:219
|
|
||||||
msgid "Filter"
|
|
||||||
msgstr "Filtre"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:224
|
|
||||||
msgid "Do not list net names which match with this text, in advanced mode"
|
|
||||||
msgstr "Ne liste pas les noms de nets qui correspondent à ce texte, en mode avancé"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:263
|
|
||||||
msgid "Zone clearance value:"
|
|
||||||
msgstr "Valeur isolation zone:"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:266
|
|
||||||
msgid "Grid :"
|
|
||||||
msgstr "Grille:"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:566
|
|
||||||
msgid "Error : you must choose a layer"
|
|
||||||
msgstr "Erreur. Vous devez choisir une couche"
|
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.cpp:575
|
|
||||||
msgid "Error : you must choose a net name"
|
|
||||||
msgstr "Erreur. Vous devez choisir une équipotentielle"
|
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:147
|
#: pcbnew/pcbplot.cpp:147
|
||||||
#: pcbnew/pcbplot.cpp:272
|
#: pcbnew/pcbplot.cpp:272
|
||||||
msgid "Plot"
|
msgid "Plot"
|
||||||
|
@ -2303,7 +2212,6 @@ msgid "GenCAD file:"
|
||||||
msgstr "Fichier GenCAD:"
|
msgstr "Fichier GenCAD:"
|
||||||
|
|
||||||
#: pcbnew/export_gencad.cpp:83
|
#: pcbnew/export_gencad.cpp:83
|
||||||
#: pcbnew/files.cpp:352
|
|
||||||
msgid "Unable to create "
|
msgid "Unable to create "
|
||||||
msgstr "Impossible de créer "
|
msgstr "Impossible de créer "
|
||||||
|
|
||||||
|
@ -2649,6 +2557,7 @@ msgid "Search footprint"
|
||||||
msgstr "Cherche Module"
|
msgstr "Cherche Module"
|
||||||
|
|
||||||
#: pcbnew/modules.cpp:305
|
#: pcbnew/modules.cpp:305
|
||||||
|
#: pcbnew/onrightclick.cpp:730
|
||||||
msgid "Delete Module"
|
msgid "Delete Module"
|
||||||
msgstr "Supprimer Module"
|
msgstr "Supprimer Module"
|
||||||
|
|
||||||
|
@ -2845,22 +2754,18 @@ msgid "Read Global AutoRouter Data"
|
||||||
msgstr "Lire Données de L'autorouteur global"
|
msgstr "Lire Données de L'autorouteur global"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:447
|
#: pcbnew/onrightclick.cpp:447
|
||||||
#: pcbnew/modedit_onclick.cpp:206
|
|
||||||
msgid "Cancel Block"
|
msgid "Cancel Block"
|
||||||
msgstr "Annuler Bloc"
|
msgstr "Annuler Bloc"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:449
|
#: pcbnew/onrightclick.cpp:449
|
||||||
#: pcbnew/modedit_onclick.cpp:208
|
|
||||||
msgid "Zoom Block (drag middle mouse)"
|
msgid "Zoom Block (drag middle mouse)"
|
||||||
msgstr "Zoom Bloc (drag bouton du milieu souris)"
|
msgstr "Zoom Bloc (drag bouton du milieu souris)"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:452
|
#: pcbnew/onrightclick.cpp:452
|
||||||
#: pcbnew/modedit_onclick.cpp:211
|
|
||||||
msgid "Place Block"
|
msgid "Place Block"
|
||||||
msgstr "Place Bloc"
|
msgstr "Place Bloc"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:454
|
#: pcbnew/onrightclick.cpp:454
|
||||||
#: pcbnew/modedit_onclick.cpp:213
|
|
||||||
msgid "Copy Block (shift + drag mouse)"
|
msgid "Copy Block (shift + drag mouse)"
|
||||||
msgstr "Copie Bloc (shift + drag mouse)"
|
msgstr "Copie Bloc (shift + drag mouse)"
|
||||||
|
|
||||||
|
@ -2869,12 +2774,10 @@ msgid "Flip Block (alt + drag mouse)"
|
||||||
msgstr "Inversion Bloc (alt + drag mouse)"
|
msgstr "Inversion Bloc (alt + drag mouse)"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:458
|
#: pcbnew/onrightclick.cpp:458
|
||||||
#: pcbnew/modedit_onclick.cpp:217
|
|
||||||
msgid "Rotate Block (ctrl + drag mouse)"
|
msgid "Rotate Block (ctrl + drag mouse)"
|
||||||
msgstr "Rotation Bloc (ctrl + drag mouse)"
|
msgstr "Rotation Bloc (ctrl + drag mouse)"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:460
|
#: pcbnew/onrightclick.cpp:460
|
||||||
#: pcbnew/modedit_onclick.cpp:219
|
|
||||||
msgid "Delete Block (shift+ctrl + drag mouse)"
|
msgid "Delete Block (shift+ctrl + drag mouse)"
|
||||||
msgstr "Effacement Bloc (shift+ctrl + drag mouse)"
|
msgstr "Effacement Bloc (shift+ctrl + drag mouse)"
|
||||||
|
|
||||||
|
@ -3113,23 +3016,19 @@ msgstr "Change côté"
|
||||||
#: pcbnew/onrightclick.cpp:724
|
#: pcbnew/onrightclick.cpp:724
|
||||||
#: pcbnew/onrightclick.cpp:758
|
#: pcbnew/onrightclick.cpp:758
|
||||||
#: pcbnew/onrightclick.cpp:862
|
#: pcbnew/onrightclick.cpp:862
|
||||||
#: pcbnew/modedit_onclick.cpp:306
|
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editer"
|
msgstr "Editer"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:756
|
#: pcbnew/onrightclick.cpp:756
|
||||||
#: pcbnew/onrightclick.cpp:860
|
#: pcbnew/onrightclick.cpp:860
|
||||||
#: pcbnew/modedit_onclick.cpp:241
|
|
||||||
msgid "Rotate"
|
msgid "Rotate"
|
||||||
msgstr "Rotation"
|
msgstr "Rotation"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:795
|
#: pcbnew/onrightclick.cpp:795
|
||||||
#: pcbnew/modedit_onclick.cpp:263
|
|
||||||
msgid "Edit Pad"
|
msgid "Edit Pad"
|
||||||
msgstr "Edit Pad"
|
msgstr "Edit Pad"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:799
|
#: pcbnew/onrightclick.cpp:799
|
||||||
#: pcbnew/modedit_onclick.cpp:265
|
|
||||||
msgid "New Pad Settings"
|
msgid "New Pad Settings"
|
||||||
msgstr "Nouvelles Caract. Pads"
|
msgstr "Nouvelles Caract. Pads"
|
||||||
|
|
||||||
|
@ -3138,7 +3037,6 @@ msgid "Copy current pad settings to this pad"
|
||||||
msgstr "Copier les réglages courants pour ce pad"
|
msgstr "Copier les réglages courants pour ce pad"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:803
|
#: pcbnew/onrightclick.cpp:803
|
||||||
#: pcbnew/modedit_onclick.cpp:267
|
|
||||||
msgid "Export Pad Settings"
|
msgid "Export Pad Settings"
|
||||||
msgstr "Exporte Caract. Pads"
|
msgstr "Exporte Caract. Pads"
|
||||||
|
|
||||||
|
@ -3147,7 +3045,6 @@ msgid "Copy this pad settings to current pad settings"
|
||||||
msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes"
|
msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes"
|
||||||
|
|
||||||
#: pcbnew/onrightclick.cpp:810
|
#: pcbnew/onrightclick.cpp:810
|
||||||
#: pcbnew/modedit_onclick.cpp:274
|
|
||||||
msgid "Global Pad Settings"
|
msgid "Global Pad Settings"
|
||||||
msgstr "Edition Globale des pads"
|
msgstr "Edition Globale des pads"
|
||||||
|
|
||||||
|
@ -3593,6 +3490,7 @@ msgstr "Impossible de créer fichier "
|
||||||
|
|
||||||
#: pcbnew/plotgerb.cpp:82
|
#: pcbnew/plotgerb.cpp:82
|
||||||
#: pcbnew/plothpgl.cpp:74
|
#: pcbnew/plothpgl.cpp:74
|
||||||
|
#: pcbnew/plotps.cpp:58
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Fichier"
|
msgstr "Fichier"
|
||||||
|
|
||||||
|
@ -3825,21 +3723,21 @@ msgstr "Change module %s (%s) "
|
||||||
msgid "Cmp files:"
|
msgid "Cmp files:"
|
||||||
msgstr "Fichiers Cmp: "
|
msgstr "Fichiers Cmp: "
|
||||||
|
|
||||||
#: pcbnew/zones_by_polygon.cpp:330
|
#: pcbnew/zones_by_polygon.cpp:328
|
||||||
#: pcbnew/zones_by_polygon.cpp:386
|
#: pcbnew/zones_by_polygon.cpp:384
|
||||||
#: pcbnew/zones_by_polygon.cpp:703
|
#: pcbnew/zones_by_polygon.cpp:701
|
||||||
msgid "Area: DRC outline error"
|
msgid "Area: DRC outline error"
|
||||||
msgstr "Zone; Erreur DRC sur contour"
|
msgstr "Zone; Erreur DRC sur contour"
|
||||||
|
|
||||||
#: pcbnew/zones_by_polygon.cpp:586
|
#: pcbnew/zones_by_polygon.cpp:584
|
||||||
msgid "DRC error: this start point is inside or too close an other area"
|
msgid "DRC error: this start point is inside or too close an other area"
|
||||||
msgstr "Erreur DRC: ce point de départ est a l'intérieur d'une autre zone ou trop proche"
|
msgstr "Erreur DRC: ce point de départ est a l'intérieur d'une autre zone ou trop proche"
|
||||||
|
|
||||||
#: pcbnew/zones_by_polygon.cpp:648
|
#: pcbnew/zones_by_polygon.cpp:646
|
||||||
msgid "DRC error: closing this area creates a drc error with an other area"
|
msgid "DRC error: closing this area creates a drc error with an other area"
|
||||||
msgstr "Erreur DRC: la fermeture de cette zone crée une erreur DRC avec une autre zone"
|
msgstr "Erreur DRC: la fermeture de cette zone crée une erreur DRC avec une autre zone"
|
||||||
|
|
||||||
#: pcbnew/zones_by_polygon.cpp:887
|
#: pcbnew/zones_by_polygon.cpp:885
|
||||||
msgid "No Net"
|
msgid "No Net"
|
||||||
msgstr "No Net"
|
msgstr "No Net"
|
||||||
|
|
||||||
|
@ -4283,12 +4181,10 @@ msgid "Sizes and Widths"
|
||||||
msgstr "Dims. et Epaiss."
|
msgstr "Dims. et Epaiss."
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:41
|
#: pcbnew/menubarmodedit.cpp:41
|
||||||
#: pcbnew/menubarpcb.cpp:229
|
|
||||||
msgid "Adjust width for texts and drawings"
|
msgid "Adjust width for texts and drawings"
|
||||||
msgstr "Ajuster dims pour textes et graphiques"
|
msgstr "Ajuster dims pour textes et graphiques"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:46
|
#: pcbnew/menubarmodedit.cpp:46
|
||||||
#: pcbnew/menubarpcb.cpp:234
|
|
||||||
msgid "Adjust size,shape,layers... for Pads"
|
msgid "Adjust size,shape,layers... for Pads"
|
||||||
msgstr "Ajuster taille, forme, couches... pour pads"
|
msgstr "Ajuster taille, forme, couches... pour pads"
|
||||||
|
|
||||||
|
@ -4297,52 +4193,42 @@ msgid "User Grid Size"
|
||||||
msgstr "Dim Grille utilisteur"
|
msgstr "Dim Grille utilisteur"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:51
|
#: pcbnew/menubarmodedit.cpp:51
|
||||||
#: pcbnew/menubarpcb.cpp:224
|
|
||||||
msgid "Adjust User Grid"
|
msgid "Adjust User Grid"
|
||||||
msgstr "Ajuster Grille utilisateur"
|
msgstr "Ajuster Grille utilisateur"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:64
|
#: pcbnew/menubarmodedit.cpp:64
|
||||||
#: pcbnew/menubarpcb.cpp:292
|
|
||||||
msgid "&Contents"
|
msgid "&Contents"
|
||||||
msgstr "&Contenu"
|
msgstr "&Contenu"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:65
|
#: pcbnew/menubarmodedit.cpp:65
|
||||||
#: pcbnew/menubarpcb.cpp:292
|
|
||||||
msgid "Open the pcbnew manual"
|
msgid "Open the pcbnew manual"
|
||||||
msgstr "Ouvrir la documentation de pcbnew"
|
msgstr "Ouvrir la documentation de pcbnew"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:73
|
#: pcbnew/menubarmodedit.cpp:73
|
||||||
#: pcbnew/menubarpcb.cpp:296
|
|
||||||
msgid "&About pcbnew"
|
msgid "&About pcbnew"
|
||||||
msgstr "&Au sujet de r Pcbnew"
|
msgstr "&Au sujet de r Pcbnew"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:74
|
#: pcbnew/menubarmodedit.cpp:74
|
||||||
#: pcbnew/menubarpcb.cpp:296
|
|
||||||
msgid "About pcbnew PCB designer"
|
msgid "About pcbnew PCB designer"
|
||||||
msgstr "Au sujet de Pcbnew, concption de PCB"
|
msgstr "Au sujet de Pcbnew, concption de PCB"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:82
|
#: pcbnew/menubarmodedit.cpp:82
|
||||||
#: pcbnew/menubarpcb.cpp:304
|
|
||||||
msgid "3D Display"
|
msgid "3D Display"
|
||||||
msgstr "3D Visu"
|
msgstr "3D Visu"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:82
|
#: pcbnew/menubarmodedit.cpp:82
|
||||||
#: pcbnew/menubarpcb.cpp:304
|
|
||||||
msgid "Show board in 3D viewer"
|
msgid "Show board in 3D viewer"
|
||||||
msgstr "Visualisation du circuit en 3D"
|
msgstr "Visualisation du circuit en 3D"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:86
|
#: pcbnew/menubarmodedit.cpp:86
|
||||||
#: pcbnew/menubarpcb.cpp:310
|
|
||||||
msgid "&Dimensions"
|
msgid "&Dimensions"
|
||||||
msgstr "&Dimensions"
|
msgstr "&Dimensions"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:87
|
#: pcbnew/menubarmodedit.cpp:87
|
||||||
#: pcbnew/menubarpcb.cpp:313
|
|
||||||
msgid "&3D Display"
|
msgid "&3D Display"
|
||||||
msgstr "&3D Visu"
|
msgstr "&3D Visu"
|
||||||
|
|
||||||
#: pcbnew/menubarmodedit.cpp:88
|
#: pcbnew/menubarmodedit.cpp:88
|
||||||
#: pcbnew/menubarpcb.cpp:314
|
|
||||||
msgid "&Help"
|
msgid "&Help"
|
||||||
msgstr "&Aide"
|
msgstr "&Aide"
|
||||||
|
|
||||||
|
@ -4638,10 +4524,28 @@ msgstr "&Divers"
|
||||||
msgid "P&ostprocess"
|
msgid "P&ostprocess"
|
||||||
msgstr "P&ostprocesseurs"
|
msgstr "P&ostprocesseurs"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_non_copper_zones_properties.cpp:28
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:67
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:45
|
||||||
|
msgid "Hatched Outline"
|
||||||
|
msgstr "Contour Hachuré"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_non_copper_zones_properties.cpp:28
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:67
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:45
|
||||||
|
msgid "Full Hatched"
|
||||||
|
msgstr "Pleinement Hachuré"
|
||||||
|
|
||||||
#: pcbnew/dialog_non_copper_zones_properties.cpp:30
|
#: pcbnew/dialog_non_copper_zones_properties.cpp:30
|
||||||
msgid "Outlines Appearence"
|
msgid "Outlines Appearence"
|
||||||
msgstr "Aspect des Contours"
|
msgstr "Aspect des Contours"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_non_copper_zones_properties.cpp:34
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:76
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:65
|
||||||
|
msgid "Any"
|
||||||
|
msgstr "Tout"
|
||||||
|
|
||||||
#: pcbnew/dialog_non_copper_zones_properties.cpp:34
|
#: pcbnew/dialog_non_copper_zones_properties.cpp:34
|
||||||
msgid "H, V and 45 deg"
|
msgid "H, V and 45 deg"
|
||||||
msgstr "H, V et 45 deg"
|
msgstr "H, V et 45 deg"
|
||||||
|
@ -4654,6 +4558,23 @@ msgstr "Direction contours zone"
|
||||||
msgid "Layer selection:"
|
msgid "Layer selection:"
|
||||||
msgstr "Sélection couche:"
|
msgstr "Sélection couche:"
|
||||||
|
|
||||||
|
#: pcbnew/zones_non_copper_type_functions.cpp:152
|
||||||
|
#: pcbnew/dialog_copper_zones.cpp:329
|
||||||
|
msgid "Error : you must choose a layer"
|
||||||
|
msgstr "Erreur. Vous devez choisir une couche"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones.cpp:64
|
||||||
|
msgid "Zone clearance value:"
|
||||||
|
msgstr "Valeur isolation zone:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones.cpp:67
|
||||||
|
msgid "Grid :"
|
||||||
|
msgstr "Grille:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones.cpp:338
|
||||||
|
msgid "Error : you must choose a net name"
|
||||||
|
msgstr "Erreur. Vous devez choisir une équipotentielle"
|
||||||
|
|
||||||
#: pcbnew/dialog_setup_libs.cpp:97
|
#: pcbnew/dialog_setup_libs.cpp:97
|
||||||
msgid "from "
|
msgid "from "
|
||||||
msgstr "De "
|
msgstr "De "
|
||||||
|
@ -4730,6 +4651,90 @@ msgstr "Fichier placement coté cuivre:"
|
||||||
msgid "Module count"
|
msgid "Module count"
|
||||||
msgstr "Nb Modules"
|
msgstr "Nb Modules"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:33
|
||||||
|
msgid "Zone Fill Options:"
|
||||||
|
msgstr "Options de Remplissage de Zone:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:35
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:32
|
||||||
|
msgid "0.00000"
|
||||||
|
msgstr "0.00000"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:35
|
||||||
|
msgid "No Grid (For tests only!)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:37
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:34
|
||||||
|
msgid "Grid Size for Filling:"
|
||||||
|
msgstr "Taille de Grille pour Remplissage:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:41
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:38
|
||||||
|
msgid "Zone clearance value (mm):"
|
||||||
|
msgstr "Valeur isolation zone (mm):"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:48
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:56
|
||||||
|
msgid "Include Pads"
|
||||||
|
msgstr "Inclure Pads"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:48
|
||||||
|
msgid "Thermal Relief"
|
||||||
|
msgstr "Frein Thermique"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:48
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:56
|
||||||
|
msgid "Exclude Pads"
|
||||||
|
msgstr "Exclure Pads"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:50
|
||||||
|
msgid "Pad in Zone:"
|
||||||
|
msgstr "Pads en Zone:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:65
|
||||||
|
msgid "Outlines Options:"
|
||||||
|
msgstr "Options des Contours:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:69
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:47
|
||||||
|
msgid "Outlines Appearance"
|
||||||
|
msgstr "Aspect des Contours"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:76
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:65
|
||||||
|
msgid "H , V and 45 deg"
|
||||||
|
msgstr "H, V et 45 deg"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:78
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:67
|
||||||
|
msgid "Zone edges orient:"
|
||||||
|
msgstr "Direction contours zone:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:102
|
||||||
|
msgid "Nets Display Options:"
|
||||||
|
msgstr "Options d'Affichage des Nets"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:104
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:88
|
||||||
|
msgid "Alphabetic"
|
||||||
|
msgstr "Alphabetique"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:104
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:88
|
||||||
|
msgid "Advanced"
|
||||||
|
msgstr "Avancé"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:106
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:90
|
||||||
|
msgid "Net sorting:"
|
||||||
|
msgstr "Tri des Equipotentielles:"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp:110
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:94
|
||||||
|
msgid "Filter"
|
||||||
|
msgstr "Filtre"
|
||||||
|
|
||||||
#: pcbnew/dialog_pad_edit.cpp:157
|
#: pcbnew/dialog_pad_edit.cpp:157
|
||||||
msgid "Pad Num :"
|
msgid "Pad Num :"
|
||||||
msgstr "Num Pad :"
|
msgstr "Num Pad :"
|
||||||
|
@ -4839,6 +4844,18 @@ msgstr "couche E.C.O.2"
|
||||||
msgid "Draft layer"
|
msgid "Draft layer"
|
||||||
msgstr "Couche dessin"
|
msgstr "Couche dessin"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:32
|
||||||
|
msgid "|No Grid (For tests only!)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:56
|
||||||
|
msgid "Thermal"
|
||||||
|
msgstr "Thermique"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.cpp.cpp:58
|
||||||
|
msgid "Pad options:"
|
||||||
|
msgstr "Options pads"
|
||||||
|
|
||||||
#: pcbnew/pcbframe.cpp:280
|
#: pcbnew/pcbframe.cpp:280
|
||||||
msgid "Board modified, Save before exit ?"
|
msgid "Board modified, Save before exit ?"
|
||||||
msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?"
|
msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?"
|
||||||
|
@ -7374,7 +7391,6 @@ msgid "Edit pins part per part (Carefully use!)"
|
||||||
msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)"
|
msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)"
|
||||||
|
|
||||||
#: eeschema/tool_lib.cpp:238
|
#: eeschema/tool_lib.cpp:238
|
||||||
#: eeschema/tool_viewlib.cpp:128
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Part %c"
|
msgid "Part %c"
|
||||||
msgstr "Composant %c"
|
msgstr "Composant %c"
|
||||||
|
@ -8312,6 +8328,7 @@ msgid "1:1 zoom"
|
||||||
msgstr "1:1 zoom"
|
msgstr "1:1 zoom"
|
||||||
|
|
||||||
#: cvpcb/genorcad.cpp:134
|
#: cvpcb/genorcad.cpp:134
|
||||||
|
#: cvpcb/writenetlistpcbnew.cpp:168
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s %s pin %s : Different Nets"
|
msgid "%s %s pin %s : Different Nets"
|
||||||
msgstr "%s %s pin %s : Nets Differents"
|
msgstr "%s %s pin %s : Nets Differents"
|
||||||
|
@ -8322,6 +8339,7 @@ msgid "Components: %d (free: %d)"
|
||||||
msgstr "Composants: %d (libres: %d)"
|
msgstr "Composants: %d (libres: %d)"
|
||||||
|
|
||||||
#: cvpcb/init.cpp:112
|
#: cvpcb/init.cpp:112
|
||||||
|
#: cvpcb/cvframe.cpp:340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Componants: %d (free: %d)"
|
msgid "Componants: %d (free: %d)"
|
||||||
msgstr "Composants: %d (libres: %d)"
|
msgstr "Composants: %d (libres: %d)"
|
||||||
|
@ -10190,10 +10208,6 @@ msgstr "Dialog"
|
||||||
msgid "Tracks and Vias Sizes"
|
msgid "Tracks and Vias Sizes"
|
||||||
msgstr "Dims Pistes et Vias"
|
msgstr "Dims Pistes et Vias"
|
||||||
|
|
||||||
#: pcbnew/dialog_zones_by_polygon.h:53
|
|
||||||
msgid "Fill Zones Options"
|
|
||||||
msgstr "Options de Remplissage de Zone"
|
|
||||||
|
|
||||||
#: pcbnew/drc_stuff.h:147
|
#: pcbnew/drc_stuff.h:147
|
||||||
#, 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>"
|
||||||
|
@ -10298,6 +10312,10 @@ msgstr "Propriétés des Zones sur couches non cuivre"
|
||||||
msgid "Pad properties"
|
msgid "Pad properties"
|
||||||
msgstr "Propriétés des Pads"
|
msgstr "Propriétés des Pads"
|
||||||
|
|
||||||
|
#: pcbnew/dialog_copper_zones_frame.h:83
|
||||||
|
msgid "Fill Zones Options"
|
||||||
|
msgstr "Options de Remplissage de Zone"
|
||||||
|
|
||||||
#: pcbnew/dialog_gendrill.h:50
|
#: pcbnew/dialog_gendrill.h:50
|
||||||
msgid "Drill Files Generation"
|
msgid "Drill Files Generation"
|
||||||
msgstr "Génération Fichiers de Perçagee"
|
msgstr "Génération Fichiers de Perçagee"
|
||||||
|
@ -10606,6 +10624,9 @@ msgstr "Imprimer"
|
||||||
msgid "Create SVG file"
|
msgid "Create SVG file"
|
||||||
msgstr "Créer Fichier SVG"
|
msgstr "Créer Fichier SVG"
|
||||||
|
|
||||||
|
#~ msgid "Do not list net names which match with this text, in advanced mode"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Ne liste pas les noms de nets qui correspondent à ce texte, en mode avancé"
|
||||||
#~ msgid "About this application"
|
#~ msgid "About this application"
|
||||||
#~ msgstr "Au sujet de cette application"
|
#~ msgstr "Au sujet de cette application"
|
||||||
#~ msgid "Place the graphic line or poligon"
|
#~ msgid "Place the graphic line or poligon"
|
||||||
|
|
|
@ -41,6 +41,8 @@ set(PCBNEW_SRCS
|
||||||
cotation.cpp
|
cotation.cpp
|
||||||
cross-probing.cpp
|
cross-probing.cpp
|
||||||
deltrack.cpp
|
deltrack.cpp
|
||||||
|
dialog_copper_zones.cpp
|
||||||
|
dialog_copper_zones_frame.cpp
|
||||||
# dialog_display_options.cpp
|
# dialog_display_options.cpp
|
||||||
# dialog_drc.cpp
|
# dialog_drc.cpp
|
||||||
dialog_edit_mod_text.cpp
|
dialog_edit_mod_text.cpp
|
||||||
|
@ -57,7 +59,6 @@ set(PCBNEW_SRCS
|
||||||
dialog_setup_libs.cpp
|
dialog_setup_libs.cpp
|
||||||
dialog_orient_footprints.cpp
|
dialog_orient_footprints.cpp
|
||||||
# dialog_track_options.cpp
|
# dialog_track_options.cpp
|
||||||
# dialog_zones_by_polygon.cpp
|
|
||||||
dist.cpp
|
dist.cpp
|
||||||
dragsegm.cpp
|
dragsegm.cpp
|
||||||
drc.cpp
|
drc.cpp
|
||||||
|
|
|
@ -332,7 +332,10 @@ int ZONE_CONTAINER::ReadDescr( FILE* aFile, int* aLineNum )
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !IsOnCopperLayer() )
|
if( !IsOnCopperLayer() )
|
||||||
|
{
|
||||||
|
m_GridFillValue = 0;
|
||||||
SetNet( 0 );
|
SetNet( 0 );
|
||||||
|
}
|
||||||
|
|
||||||
return error ? 0 : 1;
|
return error ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,398 @@
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Name: dialog_copper_zones.cpp
|
||||||
|
// Author: jean-pierre Charras
|
||||||
|
// Created: 09/oct/2008
|
||||||
|
/// Licence: GNU License
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#if defined (__GNUG__) && !defined (NO_GCC_PRAGMA)
|
||||||
|
#pragma implementation "zones.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For compilers that support precompilation, includes "wx/wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/wx.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "fctsys.h"
|
||||||
|
#include "wxstruct.h"
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "PolyLine.h"
|
||||||
|
#include "pcbnew.h"
|
||||||
|
#include "trigo.h"
|
||||||
|
#include "autorout.h"
|
||||||
|
#include "zones.h"
|
||||||
|
|
||||||
|
#include "dialog_copper_zones.h"
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************************************/
|
||||||
|
dialog_copper_zone::dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_CONTAINER * zone_container )
|
||||||
|
:dialog_copper_zone_frame(parent)
|
||||||
|
/************************************************************************************************/
|
||||||
|
{
|
||||||
|
m_Parent = parent;
|
||||||
|
m_Zone_Container = zone_container;
|
||||||
|
m_NetSorting =1; // 0 = alphabetic sort, 1 = pad count sort
|
||||||
|
if( m_Parent->m_Parent->m_EDA_Config )
|
||||||
|
{
|
||||||
|
m_NetSorting = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_SORT_OPTION_KEY, 1l );
|
||||||
|
}
|
||||||
|
|
||||||
|
SetReturnCode(ZONE_ABORT); // Will be changed on buttons click
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************/
|
||||||
|
void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
|
||||||
|
/*****************************************************************/
|
||||||
|
// Initialise dialog options
|
||||||
|
{
|
||||||
|
BOARD* board = m_Parent->m_Pcb;
|
||||||
|
|
||||||
|
SetFont( *g_DialogFont );
|
||||||
|
|
||||||
|
SetFocus(); // Required under wxGTK if we want to demiss the dialog with the ESC key
|
||||||
|
|
||||||
|
wxString title = _( "Zone clearance value:" ) + ReturnUnitSymbol( g_UnitMetric );
|
||||||
|
m_ClearanceValueTitle->SetLabel( title );
|
||||||
|
|
||||||
|
title = _( "Grid :" ) + ReturnUnitSymbol( g_UnitMetric );;
|
||||||
|
m_GridCtrl->SetLabel( title );
|
||||||
|
|
||||||
|
if( g_DesignSettings.m_ZoneClearence == 0 )
|
||||||
|
g_DesignSettings.m_ZoneClearence = g_DesignSettings.m_TrackClearence;
|
||||||
|
title = ReturnStringFromValue( g_UnitMetric,
|
||||||
|
g_DesignSettings.m_ZoneClearence,
|
||||||
|
m_Parent->m_InternalUnits );
|
||||||
|
m_ZoneClearanceCtrl->SetValue( title );
|
||||||
|
|
||||||
|
if( g_Zone_45_Only )
|
||||||
|
m_OrientEdgesOpt->SetSelection( 1 );
|
||||||
|
|
||||||
|
static const int GridList[4] = { 25, 50, 100, 250 };
|
||||||
|
int selection = 0;
|
||||||
|
|
||||||
|
int grid_routing = g_GridRoutingSize;
|
||||||
|
|
||||||
|
if( m_Zone_Container )
|
||||||
|
grid_routing = m_Zone_Container->m_GridFillValue;
|
||||||
|
|
||||||
|
for( unsigned ii = 0; ii < 4; ii++ )
|
||||||
|
{
|
||||||
|
wxString msg = ReturnStringFromValue( g_UnitMetric,
|
||||||
|
GridList[ii],
|
||||||
|
m_Parent->m_InternalUnits );
|
||||||
|
m_GridCtrl->SetString( ii, msg );
|
||||||
|
if( grid_routing == GridList[ii] )
|
||||||
|
selection = ii;
|
||||||
|
}
|
||||||
|
if( grid_routing == 0 ) // No Grid: fill with polygons
|
||||||
|
selection = 4;
|
||||||
|
|
||||||
|
m_GridCtrl->SetSelection( selection );
|
||||||
|
|
||||||
|
if( m_Zone_Container )
|
||||||
|
{
|
||||||
|
title = ReturnStringFromValue( g_UnitMetric,
|
||||||
|
m_Zone_Container->m_ZoneClearance,
|
||||||
|
m_Parent->m_InternalUnits );
|
||||||
|
m_ZoneClearanceCtrl->SetValue( title );
|
||||||
|
|
||||||
|
switch( m_Zone_Container->m_PadOption )
|
||||||
|
{
|
||||||
|
case ZONE_CONTAINER::PAD_NOT_IN_ZONE: // Pads are not covered
|
||||||
|
m_FillOpt->SetSelection( 2 );
|
||||||
|
break;
|
||||||
|
case ZONE_CONTAINER::THERMAL_PAD: // Use thermal relief for pads
|
||||||
|
m_FillOpt->SetSelection( 1 );
|
||||||
|
break;
|
||||||
|
case ZONE_CONTAINER::PAD_IN_ZONE: // pads are covered by copper
|
||||||
|
m_FillOpt->SetSelection( 0 );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
g_Zone_Hatching = m_Zone_Container->m_Poly->GetHatchStyle();
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch( g_Zone_Pad_Options )
|
||||||
|
{
|
||||||
|
case ZONE_CONTAINER::PAD_NOT_IN_ZONE: // Pads are not covered
|
||||||
|
m_FillOpt->SetSelection( 2 );
|
||||||
|
break;
|
||||||
|
case ZONE_CONTAINER::THERMAL_PAD: // Use thermal relief for pads
|
||||||
|
m_FillOpt->SetSelection( 1 );
|
||||||
|
break;
|
||||||
|
case ZONE_CONTAINER::PAD_IN_ZONE: // pads are covered by copper
|
||||||
|
m_FillOpt->SetSelection( 0 );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
g_Zone_Hatching = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_OUTLINES_HATCH_OPTION_KEY,
|
||||||
|
(long) CPolyLine::DIAGONAL_EDGE );
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( g_Zone_Hatching )
|
||||||
|
{
|
||||||
|
case CPolyLine::NO_HATCH:
|
||||||
|
m_OutlineAppearanceCtrl->SetSelection(0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CPolyLine::DIAGONAL_EDGE:
|
||||||
|
m_OutlineAppearanceCtrl->SetSelection(1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CPolyLine::DIAGONAL_FULL:
|
||||||
|
m_OutlineAppearanceCtrl->SetSelection(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* build copper layers list */
|
||||||
|
int layer_cnt = board->GetCopperLayerCount();
|
||||||
|
for( int ii = 0; ii < board->GetCopperLayerCount(); ii++ )
|
||||||
|
{
|
||||||
|
wxString msg;
|
||||||
|
int layer_number = COPPER_LAYER_N;
|
||||||
|
|
||||||
|
if( layer_cnt <= 1 || ii < layer_cnt - 1 )
|
||||||
|
layer_number = ii;
|
||||||
|
else if( ii == layer_cnt - 1 )
|
||||||
|
layer_number = LAYER_CMP_N;
|
||||||
|
|
||||||
|
m_LayerId[ii] = layer_number;
|
||||||
|
|
||||||
|
msg = board->GetLayerName( layer_number ).Trim();
|
||||||
|
m_LayerSelectionCtrl->InsertItems( 1, &msg, ii );
|
||||||
|
|
||||||
|
if( m_Zone_Container )
|
||||||
|
{
|
||||||
|
if( m_Zone_Container->GetLayer() == layer_number )
|
||||||
|
m_LayerSelectionCtrl->SetSelection( ii );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( ((PCB_SCREEN*)(m_Parent->GetScreen()))->m_Active_Layer == layer_number )
|
||||||
|
m_LayerSelectionCtrl->SetSelection( ii );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_NetSortingOption->SetSelection(m_NetSorting);
|
||||||
|
|
||||||
|
wxString NetNameFilter;
|
||||||
|
if( m_Parent->m_Parent->m_EDA_Config )
|
||||||
|
{
|
||||||
|
NetNameFilter = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_FILTER_STRING_KEY, wxT("N_0*") );
|
||||||
|
}
|
||||||
|
|
||||||
|
m_NetNameFilter->SetValue(NetNameFilter);
|
||||||
|
wxArrayString ListNetName;
|
||||||
|
m_Parent->m_Pcb->ReturnSortedNetnamesList( ListNetName,
|
||||||
|
m_NetSorting == 0 ? BOARD::ALPHA_SORT : BOARD::PAD_CNT_SORT );
|
||||||
|
|
||||||
|
if ( m_NetSorting != 0 )
|
||||||
|
{
|
||||||
|
wxString Filter = m_NetNameFilter->GetValue();
|
||||||
|
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||||
|
{
|
||||||
|
if( ListNetName[ii].Matches(Filter.GetData() ) )
|
||||||
|
{
|
||||||
|
ListNetName. RemoveAt(ii);
|
||||||
|
ii--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
||||||
|
|
||||||
|
// Select net:
|
||||||
|
int net_select = g_HightLigth_NetCode;
|
||||||
|
if( m_Zone_Container )
|
||||||
|
net_select = m_Zone_Container->GetNet();
|
||||||
|
|
||||||
|
if( net_select > 0 )
|
||||||
|
{
|
||||||
|
EQUIPOT* equipot = m_Parent->m_Pcb->FindNet( net_select );
|
||||||
|
if( equipot ) // Search net in list and select it
|
||||||
|
{
|
||||||
|
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||||
|
{
|
||||||
|
if( ListNetName[ii] == equipot->m_Netname )
|
||||||
|
{
|
||||||
|
m_ListNetNameSelection->SetSelection( ii );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (GetSizer())
|
||||||
|
{
|
||||||
|
GetSizer()->SetSizeHints(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************/
|
||||||
|
void dialog_copper_zone::OnButtonCancelClick( wxCommandEvent& event )
|
||||||
|
/*************************************************************/
|
||||||
|
{
|
||||||
|
EndModal( ZONE_ABORT );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************/
|
||||||
|
bool dialog_copper_zone::AcceptOptions(bool aPromptForErrors)
|
||||||
|
/**********************************************************/
|
||||||
|
/** Function dialog_copper_zone::AcceptOptions(
|
||||||
|
* @return false if incorrect options, true if Ok.
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
switch( m_FillOpt->GetSelection() )
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
g_Zone_Pad_Options = ZONE_CONTAINER::PAD_NOT_IN_ZONE; // Pads are not covered
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
g_Zone_Pad_Options = ZONE_CONTAINER::THERMAL_PAD; // Use thermal relief for pads
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
g_Zone_Pad_Options = ZONE_CONTAINER::PAD_IN_ZONE; // pads are covered by copper
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( m_OutlineAppearanceCtrl->GetSelection() )
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
g_Zone_Hatching = CPolyLine::NO_HATCH;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
g_Zone_Hatching = CPolyLine::DIAGONAL_EDGE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
g_Zone_Hatching = CPolyLine::DIAGONAL_FULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( m_Parent->m_Parent->m_EDA_Config )
|
||||||
|
{
|
||||||
|
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_OUTLINES_HATCH_OPTION_KEY, (long)g_Zone_Hatching);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( m_GridCtrl->GetSelection() )
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
g_GridRoutingSize = 25;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
g_GridRoutingSize = 50;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
case 2:
|
||||||
|
g_GridRoutingSize = 100;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
g_GridRoutingSize = 250;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
g_GridRoutingSize = 0;
|
||||||
|
wxMessageBox( wxT(
|
||||||
|
"You are using No grid for filling zones\nThis is currently in development and for tests only.\n Do not use for production"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxString txtvalue = m_ZoneClearanceCtrl->GetValue();
|
||||||
|
g_DesignSettings.m_ZoneClearence =
|
||||||
|
ReturnValueFromString( g_UnitMetric, txtvalue, m_Parent->m_InternalUnits );
|
||||||
|
if( m_OrientEdgesOpt->GetSelection() == 0 )
|
||||||
|
g_Zone_45_Only = FALSE;
|
||||||
|
else
|
||||||
|
g_Zone_45_Only = TRUE;
|
||||||
|
|
||||||
|
/* Get the layer selection for this zone */
|
||||||
|
int ii = m_LayerSelectionCtrl->GetSelection();
|
||||||
|
if( ii < 0 && aPromptForErrors )
|
||||||
|
{
|
||||||
|
DisplayError( this, _( "Error : you must choose a layer" ) );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
g_CurrentZone_Layer = m_LayerId[ii];
|
||||||
|
|
||||||
|
/* Get the net name selection for this zone */
|
||||||
|
ii = m_ListNetNameSelection->GetSelection();
|
||||||
|
if( ii < 0 && aPromptForErrors )
|
||||||
|
{
|
||||||
|
DisplayError( this, _( "Error : you must choose a net name" ) );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxString net_name = m_ListNetNameSelection->GetString( ii );
|
||||||
|
|
||||||
|
/* Search net_code for this net */
|
||||||
|
EQUIPOT* net;
|
||||||
|
g_NetcodeSelection = 0;
|
||||||
|
for( net = m_Parent->m_Pcb->m_Equipots; net; net = net->Next() )
|
||||||
|
{
|
||||||
|
if( net->m_Netname == net_name )
|
||||||
|
{
|
||||||
|
g_NetcodeSelection = net->GetNet();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
|
||||||
|
/***************************************************************************/
|
||||||
|
{
|
||||||
|
wxArrayString ListNetName;
|
||||||
|
m_NetSorting = m_NetSortingOption->GetSelection();
|
||||||
|
m_Parent->m_Pcb->ReturnSortedNetnamesList( ListNetName,
|
||||||
|
m_NetSorting == 0 ? BOARD::ALPHA_SORT : BOARD::PAD_CNT_SORT );
|
||||||
|
if ( m_NetSorting != 0 )
|
||||||
|
{
|
||||||
|
wxString Filter = m_NetNameFilter->GetValue();
|
||||||
|
for (unsigned ii = 0; ii < ListNetName.GetCount(); ii ++ )
|
||||||
|
{
|
||||||
|
if ( ListNetName[ii].Matches(Filter.GetData() ) )
|
||||||
|
{
|
||||||
|
ListNetName. RemoveAt(ii);
|
||||||
|
ii--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_ListNetNameSelection->Clear();
|
||||||
|
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
||||||
|
if( m_Parent->m_Parent->m_EDA_Config )
|
||||||
|
{
|
||||||
|
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_SORT_OPTION_KEY, (long) m_NetSorting );
|
||||||
|
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_FILTER_STRING_KEY, m_NetNameFilter->GetValue() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************/
|
||||||
|
void dialog_copper_zone::OnButtonOkClick( wxCommandEvent& event )
|
||||||
|
/*****************************************************************/
|
||||||
|
{
|
||||||
|
if ( AcceptOptions(true) )
|
||||||
|
EndModal( ZONE_OK );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
/* dialog_copper_zones.h */
|
||||||
|
|
||||||
|
#ifndef DIALOG_COPPER_ZONES
|
||||||
|
#define DIALOG_COPPER_ZONES
|
||||||
|
|
||||||
|
#include "dialog_copper_zones_frame.h"
|
||||||
|
|
||||||
|
/* here is the derivated class from dialog_copper_zone_frame created by wxFormBuilder
|
||||||
|
*/
|
||||||
|
class dialog_copper_zone: public dialog_copper_zone_frame
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WinEDA_PcbFrame* m_Parent;
|
||||||
|
ZONE_CONTAINER * m_Zone_Container;
|
||||||
|
long m_NetSorting;
|
||||||
|
int m_LayerId[LAYER_COUNT]; // Handle the real layer number from layer name position in m_LayerSelectionCtrl
|
||||||
|
|
||||||
|
public:
|
||||||
|
dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_CONTAINER * zone_container);
|
||||||
|
void OnInitDialog( wxInitDialogEvent& event );
|
||||||
|
void OnButtonOkClick( wxCommandEvent& event );
|
||||||
|
void OnButtonCancelClick( wxCommandEvent& event );
|
||||||
|
bool AcceptOptions(bool aPromptForErrors);
|
||||||
|
void OnNetSortingOptionSelected( wxCommandEvent& event );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // #ifndef DIALOG_COPPER_ZONES
|
|
@ -0,0 +1,148 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "dialog_copper_zones_frame.h"
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE( dialog_copper_zone_frame, wxDialog )
|
||||||
|
EVT_INIT_DIALOG( dialog_copper_zone_frame::_wxFB_OnInitDialog )
|
||||||
|
EVT_BUTTON( wxID_OK, dialog_copper_zone_frame::_wxFB_OnButtonOkClick )
|
||||||
|
EVT_BUTTON( wxID_CANCEL, dialog_copper_zone_frame::_wxFB_OnButtonCancelClick )
|
||||||
|
EVT_RADIOBOX( ID_NET_SORTING_OPTION, dialog_copper_zone_frame::_wxFB_OnNetSortingOptionSelected )
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
dialog_copper_zone_frame::dialog_copper_zone_frame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||||
|
{
|
||||||
|
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||||
|
|
||||||
|
wxBoxSizer* m_MainBoxSize;
|
||||||
|
m_MainBoxSize = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxBoxSizer* m_OptionsBoxSizer;
|
||||||
|
m_OptionsBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
||||||
|
wxBoxSizer* m_LeftBoxSizer;
|
||||||
|
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* m_FillOptionsBox;
|
||||||
|
m_FillOptionsBox = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Zone Fill Options:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_GridCtrlChoices[] = { _("0.00000"), _("0.00000"), _("0.00000"), _("0.00000"), _("No Grid (For tests only!)") };
|
||||||
|
int m_GridCtrlNChoices = sizeof( m_GridCtrlChoices ) / sizeof( wxString );
|
||||||
|
m_GridCtrl = new wxRadioBox( this, ID_RADIOBOX_GRID_SELECTION, _("Grid Size for Filling:"), wxDefaultPosition, wxDefaultSize, m_GridCtrlNChoices, m_GridCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_GridCtrl->SetSelection( 4 );
|
||||||
|
m_FillOptionsBox->Add( m_GridCtrl, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_ClearanceValueTitle = new wxStaticText( this, wxID_ANY, _("Zone clearance value (mm):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_ClearanceValueTitle->Wrap( -1 );
|
||||||
|
m_FillOptionsBox->Add( m_ClearanceValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_ZoneClearanceCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_FillOptionsBox->Add( m_ZoneClearanceCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
wxString m_FillOptChoices[] = { _("Include Pads"), _("Thermal Relief"), _("Exclude Pads") };
|
||||||
|
int m_FillOptNChoices = sizeof( m_FillOptChoices ) / sizeof( wxString );
|
||||||
|
m_FillOpt = new wxRadioBox( this, wxID_ANY, _("Pad in Zone:"), wxDefaultPosition, wxDefaultSize, m_FillOptNChoices, m_FillOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_FillOpt->SetSelection( 1 );
|
||||||
|
m_FillOptionsBox->Add( m_FillOpt, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_LeftBoxSizer->Add( m_FillOptionsBox, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_LeftBoxSizer, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( 5, 5, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_MiddleBoxSizer;
|
||||||
|
m_MiddleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* m_OutilinesBoxOpt;
|
||||||
|
m_OutilinesBoxOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Outlines Options:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched Outline"), _("Full Hatched") };
|
||||||
|
int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
|
||||||
|
m_OutlineAppearanceCtrl = new wxRadioBox( this, ID_RADIOBOX_OUTLINES_OPTION, _("Outlines Appearance"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_OutlineAppearanceCtrl->SetSelection( 0 );
|
||||||
|
m_OutilinesBoxOpt->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_OutilinesBoxOpt->Add( 5, 5, 0, 0, 5 );
|
||||||
|
|
||||||
|
wxString m_OrientEdgesOptChoices[] = { _("Any"), _("H , V and 45 deg") };
|
||||||
|
int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
|
||||||
|
m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone edges orient:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_OrientEdgesOpt->SetSelection( 0 );
|
||||||
|
m_OutilinesBoxOpt->Add( m_OrientEdgesOpt, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_MiddleBoxSizer->Add( m_OutilinesBoxOpt, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_MiddleBoxSizer, 0, 0, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( 0, 0, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_RightBoxSizer;
|
||||||
|
m_RightBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
m_OkButton = new wxButton( this, wxID_OK, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_RightBoxSizer->Add( m_OkButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||||
|
|
||||||
|
m_ButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_RightBoxSizer->Add( m_ButtonCancel, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_RightBoxSizer->Add( 5, 20, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* m_NetSortOptSizer;
|
||||||
|
m_NetSortOptSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Nets Display Options:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_NetSortingOptionChoices[] = { _("Alphabetic"), _("Advanced") };
|
||||||
|
int m_NetSortingOptionNChoices = sizeof( m_NetSortingOptionChoices ) / sizeof( wxString );
|
||||||
|
m_NetSortingOption = new wxRadioBox( this, ID_NET_SORTING_OPTION, _("Net sorting:"), wxDefaultPosition, wxDefaultSize, m_NetSortingOptionNChoices, m_NetSortingOptionChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_NetSortingOption->SetSelection( 0 );
|
||||||
|
m_NetSortOptSizer->Add( m_NetSortingOption, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_staticText5 = new wxStaticText( this, wxID_ANY, _("Filter"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText5->Wrap( -1 );
|
||||||
|
m_NetSortOptSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_NetNameFilter = new wxTextCtrl( this, ID_TEXTCTRL_NETNAMES_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_NetSortOptSizer->Add( m_NetNameFilter, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_RightBoxSizer->Add( m_NetSortOptSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
|
m_MainBoxSize->Add( m_OptionsBoxSizer, 0, 0, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_NetAndLayersLiastBoxSizer;
|
||||||
|
m_NetAndLayersLiastBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText2->Wrap( -1 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_staticText2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_ListNetNameSelection = new wxListBox( this, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_ListNetNameSelection, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_staticText3 = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText3->Wrap( -1 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_staticText3, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_LayerSelectionCtrl = new wxListBox( this, ID_LAYER_CHOICE, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_LayerSelectionCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_MainBoxSize->Add( m_NetAndLayersLiastBoxSizer, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
this->SetSizer( m_MainBoxSize );
|
||||||
|
this->Layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog_copper_zone_frame::~dialog_copper_zone_frame()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,130 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "dialog_copper_zones_frame.cpp.h"
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE( dialog_copper_zone_frame, wxDialog )
|
||||||
|
EVT_INIT_DIALOG( dialog_copper_zone_frame::_wxFB_OnInitDialog )
|
||||||
|
EVT_BUTTON( wxID_OK, dialog_copper_zone_frame::_wxFB_OnOkButtonClick )
|
||||||
|
EVT_BUTTON( wxID_CANCEL, dialog_copper_zone_frame::_wxFB_OnButtonCancleClick )
|
||||||
|
EVT_RADIOBOX( ID_NET_SORTING_OPTION, dialog_copper_zone_frame::_wxFB_OnNetSortingOptionSelected )
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
dialog_copper_zone_frame::dialog_copper_zone_frame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||||
|
{
|
||||||
|
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||||
|
|
||||||
|
wxBoxSizer* m_MainBoxSize;
|
||||||
|
m_MainBoxSize = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxBoxSizer* m_OptionsBoxSizer;
|
||||||
|
m_OptionsBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
||||||
|
wxBoxSizer* m_LeftBoxSizer;
|
||||||
|
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_GridCtrlChoices[] = { _("0.00000"), _("0.00000"), _("0.00000"), _("0.00000"), _("|No Grid (For tests only!)") };
|
||||||
|
int m_GridCtrlNChoices = sizeof( m_GridCtrlChoices ) / sizeof( wxString );
|
||||||
|
m_GridCtrl = new wxRadioBox( this, ID_RADIOBOX_GRID_SELECTION, _("Grid Size for Filling:"), wxDefaultPosition, wxDefaultSize, m_GridCtrlNChoices, m_GridCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_GridCtrl->SetSelection( 4 );
|
||||||
|
m_LeftBoxSizer->Add( m_GridCtrl, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_ClearanceValueTitle = new wxStaticText( this, wxID_ANY, _("Zone clearance value (mm):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_ClearanceValueTitle->Wrap( -1 );
|
||||||
|
m_LeftBoxSizer->Add( m_ClearanceValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_ZoneClearanceCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_LeftBoxSizer->Add( m_ZoneClearanceCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched Outline"), _("Full Hatched") };
|
||||||
|
int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
|
||||||
|
m_OutlineAppearanceCtrl = new wxRadioBox( this, ID_RADIOBOX_OUTLINES_OPTION, _("Outlines Appearance"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_OutlineAppearanceCtrl->SetSelection( 0 );
|
||||||
|
m_LeftBoxSizer->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_LeftBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_MiddleBoxSizer;
|
||||||
|
m_MiddleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_FillOptChoices[] = { _("Include Pads"), _("Thermal"), _("Exclude Pads") };
|
||||||
|
int m_FillOptNChoices = sizeof( m_FillOptChoices ) / sizeof( wxString );
|
||||||
|
m_FillOpt = new wxRadioBox( this, wxID_ANY, _("Pad options:"), wxDefaultPosition, wxDefaultSize, m_FillOptNChoices, m_FillOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_FillOpt->SetSelection( 1 );
|
||||||
|
m_MiddleBoxSizer->Add( m_FillOpt, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_MiddleBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_OrientEdgesOptChoices[] = { _("Any"), _("H , V and 45 deg") };
|
||||||
|
int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
|
||||||
|
m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone edges orient:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_OrientEdgesOpt->SetSelection( 0 );
|
||||||
|
m_MiddleBoxSizer->Add( m_OrientEdgesOpt, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_MiddleBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_RightBoxSizer;
|
||||||
|
m_RightBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
m_OkButton = new wxButton( this, wxID_OK, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_RightBoxSizer->Add( m_OkButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||||
|
|
||||||
|
m_ButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_RightBoxSizer->Add( m_ButtonCancel, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
m_RightBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_NetSortingOptionChoices[] = { _("Alphabetic"), _("Advanced") };
|
||||||
|
int m_NetSortingOptionNChoices = sizeof( m_NetSortingOptionChoices ) / sizeof( wxString );
|
||||||
|
m_NetSortingOption = new wxRadioBox( this, ID_NET_SORTING_OPTION, _("Net sorting:"), wxDefaultPosition, wxDefaultSize, m_NetSortingOptionNChoices, m_NetSortingOptionChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_NetSortingOption->SetSelection( 0 );
|
||||||
|
m_RightBoxSizer->Add( m_NetSortingOption, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_staticText5 = new wxStaticText( this, wxID_ANY, _("Filter"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText5->Wrap( -1 );
|
||||||
|
m_RightBoxSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_NetNameFilter = new wxTextCtrl( this, ID_TEXTCTRL_NETNAMES_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_RightBoxSizer->Add( m_NetNameFilter, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_OptionsBoxSizer->Add( m_RightBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_MainBoxSize->Add( m_OptionsBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* m_NetAndLayersLiastBoxSizer;
|
||||||
|
m_NetAndLayersLiastBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText2->Wrap( -1 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_staticText2, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_ListNetNameSelection = new wxListBox( this, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_ListNetNameSelection, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_staticText3 = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText3->Wrap( -1 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_staticText3, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_LayerSelectionCtrl = new wxListBox( this, ID_LAYER_CHOICE, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||||
|
m_NetAndLayersLiastBoxSizer->Add( m_LayerSelectionCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_MainBoxSize->Add( m_NetAndLayersLiastBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
this->SetSizer( m_MainBoxSize );
|
||||||
|
this->Layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog_copper_zone_frame::~dialog_copper_zone_frame()
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __dialog_copper_zones_frame__
|
||||||
|
#define __dialog_copper_zones_frame__
|
||||||
|
|
||||||
|
#include <wx/intl.h>
|
||||||
|
|
||||||
|
#include <wx/string.h>
|
||||||
|
#include <wx/radiobox.h>
|
||||||
|
#include <wx/gdicmn.h>
|
||||||
|
#include <wx/font.h>
|
||||||
|
#include <wx/colour.h>
|
||||||
|
#include <wx/settings.h>
|
||||||
|
#include <wx/stattext.h>
|
||||||
|
#include <wx/textctrl.h>
|
||||||
|
#include <wx/sizer.h>
|
||||||
|
#include <wx/button.h>
|
||||||
|
#include <wx/listbox.h>
|
||||||
|
#include <wx/dialog.h>
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Class dialog_copper_zone_frame
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
class dialog_copper_zone_frame : public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Private event handlers
|
||||||
|
void _wxFB_OnInitDialog( wxInitDialogEvent& event ){ OnInitDialog( event ); }
|
||||||
|
void _wxFB_OnOkButtonClick( wxCommandEvent& event ){ OnOkButtonClick( event ); }
|
||||||
|
void _wxFB_OnButtonCancleClick( wxCommandEvent& event ){ OnButtonCancleClick( event ); }
|
||||||
|
void _wxFB_OnNetSortingOptionSelected( wxCommandEvent& event ){ OnNetSortingOptionSelected( event ); }
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ID_RADIOBOX_GRID_SELECTION = 1000,
|
||||||
|
ID_RADIOBOX_OUTLINES_OPTION,
|
||||||
|
ID_NET_SORTING_OPTION,
|
||||||
|
ID_TEXTCTRL_NETNAMES_FILTER,
|
||||||
|
ID_NETNAME_SELECTION,
|
||||||
|
ID_LAYER_CHOICE,
|
||||||
|
};
|
||||||
|
|
||||||
|
wxRadioBox* m_GridCtrl;
|
||||||
|
wxStaticText* m_ClearanceValueTitle;
|
||||||
|
wxTextCtrl* m_ZoneClearanceCtrl;
|
||||||
|
wxRadioBox* m_OutlineAppearanceCtrl;
|
||||||
|
wxRadioBox* m_FillOpt;
|
||||||
|
|
||||||
|
wxRadioBox* m_OrientEdgesOpt;
|
||||||
|
|
||||||
|
wxButton* m_OkButton;
|
||||||
|
wxButton* m_ButtonCancel;
|
||||||
|
|
||||||
|
wxRadioBox* m_NetSortingOption;
|
||||||
|
wxStaticText* m_staticText5;
|
||||||
|
wxTextCtrl* m_NetNameFilter;
|
||||||
|
wxStaticText* m_staticText2;
|
||||||
|
wxListBox* m_ListNetNameSelection;
|
||||||
|
wxStaticText* m_staticText3;
|
||||||
|
wxListBox* m_LayerSelectionCtrl;
|
||||||
|
|
||||||
|
// Virtual event handlers, overide them in your derived class
|
||||||
|
virtual void OnInitDialog( wxInitDialogEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnOkButtonClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnButtonCancleClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnNetSortingOptionSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
dialog_copper_zone_frame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 578,567 ), long style = wxDEFAULT_DIALOG_STYLE );
|
||||||
|
~dialog_copper_zone_frame();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //__dialog_copper_zones_frame__
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,88 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __dialog_copper_zones_frame__
|
||||||
|
#define __dialog_copper_zones_frame__
|
||||||
|
|
||||||
|
#include <wx/intl.h>
|
||||||
|
|
||||||
|
#include <wx/string.h>
|
||||||
|
#include <wx/radiobox.h>
|
||||||
|
#include <wx/gdicmn.h>
|
||||||
|
#include <wx/font.h>
|
||||||
|
#include <wx/colour.h>
|
||||||
|
#include <wx/settings.h>
|
||||||
|
#include <wx/stattext.h>
|
||||||
|
#include <wx/textctrl.h>
|
||||||
|
#include <wx/sizer.h>
|
||||||
|
#include <wx/statbox.h>
|
||||||
|
#include <wx/button.h>
|
||||||
|
#include <wx/listbox.h>
|
||||||
|
#include <wx/dialog.h>
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Class dialog_copper_zone_frame
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
class dialog_copper_zone_frame : public wxDialog
|
||||||
|
{
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Private event handlers
|
||||||
|
void _wxFB_OnInitDialog( wxInitDialogEvent& event ){ OnInitDialog( event ); }
|
||||||
|
void _wxFB_OnButtonOkClick( wxCommandEvent& event ){ OnButtonOkClick( event ); }
|
||||||
|
void _wxFB_OnButtonCancelClick( wxCommandEvent& event ){ OnButtonCancelClick( event ); }
|
||||||
|
void _wxFB_OnNetSortingOptionSelected( wxCommandEvent& event ){ OnNetSortingOptionSelected( event ); }
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ID_RADIOBOX_GRID_SELECTION = 1000,
|
||||||
|
ID_RADIOBOX_OUTLINES_OPTION,
|
||||||
|
ID_NET_SORTING_OPTION,
|
||||||
|
ID_TEXTCTRL_NETNAMES_FILTER,
|
||||||
|
ID_NETNAME_SELECTION,
|
||||||
|
ID_LAYER_CHOICE,
|
||||||
|
};
|
||||||
|
|
||||||
|
wxRadioBox* m_GridCtrl;
|
||||||
|
wxStaticText* m_ClearanceValueTitle;
|
||||||
|
wxTextCtrl* m_ZoneClearanceCtrl;
|
||||||
|
wxRadioBox* m_FillOpt;
|
||||||
|
|
||||||
|
wxRadioBox* m_OutlineAppearanceCtrl;
|
||||||
|
|
||||||
|
wxRadioBox* m_OrientEdgesOpt;
|
||||||
|
|
||||||
|
wxButton* m_OkButton;
|
||||||
|
wxButton* m_ButtonCancel;
|
||||||
|
|
||||||
|
wxRadioBox* m_NetSortingOption;
|
||||||
|
wxStaticText* m_staticText5;
|
||||||
|
wxTextCtrl* m_NetNameFilter;
|
||||||
|
wxStaticText* m_staticText2;
|
||||||
|
wxListBox* m_ListNetNameSelection;
|
||||||
|
wxStaticText* m_staticText3;
|
||||||
|
wxListBox* m_LayerSelectionCtrl;
|
||||||
|
|
||||||
|
// Virtual event handlers, overide them in your derived class
|
||||||
|
virtual void OnInitDialog( wxInitDialogEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnButtonOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnButtonCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnNetSortingOptionSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
dialog_copper_zone_frame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Fill Zones Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 452,493 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSUNKEN_BORDER );
|
||||||
|
~dialog_copper_zone_frame();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //__dialog_copper_zones_frame__
|
|
@ -1,641 +0,0 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Name: zones.cpp
|
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
|
||||||
// Modified by:
|
|
||||||
// Created: 25/01/2006 11:35:19
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: GNU License
|
|
||||||
// Licence: GNU License
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 25/01/2006 11:35:19
|
|
||||||
|
|
||||||
#if defined (__GNUG__) && !defined (NO_GCC_PRAGMA)
|
|
||||||
#pragma implementation "zones.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
////@begin includes
|
|
||||||
////@end includes
|
|
||||||
|
|
||||||
#include "dialog_zones_by_polygon.h"
|
|
||||||
|
|
||||||
////@begin XPM images
|
|
||||||
////@end XPM images
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame type definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS( WinEDA_ZoneFrame, wxDialog )
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame event table definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( WinEDA_ZoneFrame, wxDialog )
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame event table entries
|
|
||||||
EVT_INIT_DIALOG( WinEDA_ZoneFrame::OnInitDialog )
|
|
||||||
|
|
||||||
EVT_BUTTON( wxID_OK, WinEDA_ZoneFrame::OnOkClick )
|
|
||||||
|
|
||||||
EVT_BUTTON( wxID_CANCEL, WinEDA_ZoneFrame::OnCancelClick )
|
|
||||||
|
|
||||||
EVT_RADIOBOX( ID_NET_SORTING_OPTION, WinEDA_ZoneFrame::OnNetSortingOptionSelected )
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame event table entries
|
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame constructors
|
|
||||||
*/
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame::WinEDA_ZoneFrame()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame::WinEDA_ZoneFrame( WinEDA_PcbFrame* parent,
|
|
||||||
ZONE_CONTAINER * zone_container,
|
|
||||||
wxWindowID id,
|
|
||||||
const wxString& caption,
|
|
||||||
const wxPoint& pos,
|
|
||||||
const wxSize& size,
|
|
||||||
long style )
|
|
||||||
{
|
|
||||||
m_Parent = parent;
|
|
||||||
m_Zone_Container = zone_container;
|
|
||||||
if( m_Parent->m_Parent->m_EDA_Config )
|
|
||||||
{
|
|
||||||
m_NetSorting = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_SORT_OPTION_KEY, (long) BOARD::PAD_CNT_SORT );
|
|
||||||
}
|
|
||||||
|
|
||||||
Create( parent, id, caption, pos, size, style );
|
|
||||||
SetReturnCode(ZONE_ABORT); // Will be changed on buttons click
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame creator
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool WinEDA_ZoneFrame::Create( wxWindow* parent,
|
|
||||||
wxWindowID id,
|
|
||||||
const wxString& caption,
|
|
||||||
const wxPoint& pos,
|
|
||||||
const wxSize& size,
|
|
||||||
long style )
|
|
||||||
{
|
|
||||||
////@begin WinEDA_ZoneFrame member initialisation
|
|
||||||
m_GridCtrl = NULL;
|
|
||||||
m_ClearanceValueTitle = NULL;
|
|
||||||
m_ZoneClearanceCtrl = NULL;
|
|
||||||
m_OutlineAppearanceCtrl = NULL;
|
|
||||||
m_FillOpt = NULL;
|
|
||||||
m_OrientEdgesOpt = NULL;
|
|
||||||
m_NetSortingOption = NULL;
|
|
||||||
m_NetNameFilter = NULL;
|
|
||||||
m_ListNetNameSelection = NULL;
|
|
||||||
m_LayerSelectionCtrl = NULL;
|
|
||||||
////@end WinEDA_ZoneFrame member initialisation
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame creation
|
|
||||||
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
|
|
||||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
|
||||||
|
|
||||||
CreateControls();
|
|
||||||
if (GetSizer())
|
|
||||||
{
|
|
||||||
GetSizer()->SetSizeHints(this);
|
|
||||||
}
|
|
||||||
Centre();
|
|
||||||
////@end WinEDA_ZoneFrame creation
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control creation for WinEDA_ZoneFrame
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::CreateControls()
|
|
||||||
{
|
|
||||||
////@begin WinEDA_ZoneFrame content construction
|
|
||||||
// Generated by DialogBlocks, 02/10/2008 15:53:10 (unregistered)
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame* itemDialog1 = this;
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemDialog1->SetSizer(itemBoxSizer2);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
|
|
||||||
itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_GridCtrlStrings;
|
|
||||||
m_GridCtrlStrings.Add(_("0.00000"));
|
|
||||||
m_GridCtrlStrings.Add(_("0.00000"));
|
|
||||||
m_GridCtrlStrings.Add(_("0.00000"));
|
|
||||||
m_GridCtrlStrings.Add(_("0.00000"));
|
|
||||||
m_GridCtrlStrings.Add(_("No Grid (For tests only!)"));
|
|
||||||
m_GridCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX_GRID_SELECTION, _("Grid Size for Filling:"), wxDefaultPosition, wxDefaultSize, m_GridCtrlStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_GridCtrl->SetSelection(0);
|
|
||||||
itemBoxSizer4->Add(m_GridCtrl, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_ClearanceValueTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Zone clearance value (mm):"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer4->Add(m_ClearanceValueTitle, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
|
||||||
|
|
||||||
m_ZoneClearanceCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer4->Add(m_ZoneClearanceCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
|
||||||
|
|
||||||
wxArrayString m_OutlineAppearanceCtrlStrings;
|
|
||||||
m_OutlineAppearanceCtrlStrings.Add(_("Line"));
|
|
||||||
m_OutlineAppearanceCtrlStrings.Add(_("Hatched Outline"));
|
|
||||||
m_OutlineAppearanceCtrlStrings.Add(_("Full Hatched"));
|
|
||||||
m_OutlineAppearanceCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX_OUTLINES_OPTION, _("Outlines Appearance"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_OutlineAppearanceCtrl->SetSelection(0);
|
|
||||||
itemBoxSizer4->Add(m_OutlineAppearanceCtrl, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
itemBoxSizer3->Add(5, 5, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer10 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer3->Add(itemBoxSizer10, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_FillOptStrings;
|
|
||||||
m_FillOptStrings.Add(_("Include Pads"));
|
|
||||||
m_FillOptStrings.Add(_("Thermal"));
|
|
||||||
m_FillOptStrings.Add(_("Exclude Pads"));
|
|
||||||
m_FillOpt = new wxRadioBox( itemDialog1, ID_RADIOBOX4, _("Pad options:"), wxDefaultPosition, wxDefaultSize, m_FillOptStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_FillOpt->SetSelection(0);
|
|
||||||
itemBoxSizer10->Add(m_FillOpt, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
itemBoxSizer10->Add(5, 5, 1, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_OrientEdgesOptStrings;
|
|
||||||
m_OrientEdgesOptStrings.Add(_("Any"));
|
|
||||||
m_OrientEdgesOptStrings.Add(_("H , V and 45 deg"));
|
|
||||||
m_OrientEdgesOpt = new wxRadioBox( itemDialog1, ID_RADIOBOX5, _("Zone edges orient:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_OrientEdgesOpt->SetSelection(0);
|
|
||||||
itemBoxSizer10->Add(m_OrientEdgesOpt, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
itemBoxSizer3->Add(5, 5, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer3->Add(itemBoxSizer15, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxButton* itemButton16 = new wxButton( itemDialog1, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer15->Add(itemButton16, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxButton* itemButton17 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemButton17->SetForegroundColour(wxColour(0, 0, 255));
|
|
||||||
itemBoxSizer15->Add(itemButton17, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
itemBoxSizer15->Add(5, 5, 1, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_NetSortingOptionStrings;
|
|
||||||
m_NetSortingOptionStrings.Add(_("Alphabetic"));
|
|
||||||
m_NetSortingOptionStrings.Add(_("Advanced"));
|
|
||||||
m_NetSortingOption = new wxRadioBox( itemDialog1, ID_NET_SORTING_OPTION, _("Net sorting:"), wxDefaultPosition, wxDefaultSize, m_NetSortingOptionStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_NetSortingOption->SetSelection(0);
|
|
||||||
itemBoxSizer15->Add(m_NetSortingOption, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticText* itemStaticText20 = new wxStaticText( itemDialog1, wxID_STATIC, _("Filter"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer15->Add(itemStaticText20, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT, 5);
|
|
||||||
|
|
||||||
m_NetNameFilter = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_NETNAMES_FILTER, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
if (WinEDA_ZoneFrame::ShowToolTips())
|
|
||||||
m_NetNameFilter->SetToolTip(_("Do not list net names which match with this text, in advanced mode"));
|
|
||||||
itemBoxSizer15->Add(m_NetNameFilter, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer22 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer2->Add(itemBoxSizer22, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticText* itemStaticText23 = new wxStaticText( itemDialog1, wxID_STATIC, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer22->Add(itemStaticText23, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
|
||||||
|
|
||||||
wxArrayString m_ListNetNameSelectionStrings;
|
|
||||||
m_ListNetNameSelection = new wxListBox( itemDialog1, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, m_ListNetNameSelectionStrings, wxLB_SINGLE|wxSUNKEN_BORDER );
|
|
||||||
itemBoxSizer22->Add(m_ListNetNameSelection, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
|
||||||
|
|
||||||
wxStaticText* itemStaticText25 = new wxStaticText( itemDialog1, wxID_LAYER_SELECTION, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer22->Add(itemStaticText25, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
|
||||||
|
|
||||||
wxArrayString m_LayerSelectionCtrlStrings;
|
|
||||||
m_LayerSelectionCtrl = new wxListBox( itemDialog1, ID_LAYER_CHOICE, wxDefaultPosition, wxDefaultSize, m_LayerSelectionCtrlStrings, wxLB_SINGLE );
|
|
||||||
itemBoxSizer22->Add(m_LayerSelectionCtrl, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
// Set validators
|
|
||||||
m_NetSortingOption->SetValidator( wxGenericValidator(& m_NetSorting) );
|
|
||||||
////@end WinEDA_ZoneFrame content construction
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_INIT_DIALOG event handler for ID_DIALOG
|
|
||||||
*/
|
|
||||||
// Initialise dialog options
|
|
||||||
void WinEDA_ZoneFrame::OnInitDialog( wxInitDialogEvent& event )
|
|
||||||
{
|
|
||||||
BOARD* board = m_Parent->m_Pcb;
|
|
||||||
|
|
||||||
SetFont( *g_DialogFont );
|
|
||||||
|
|
||||||
SetFocus(); // Required under wxGTK if we want to demiss the dialog with the ESC key
|
|
||||||
|
|
||||||
wxString title = _( "Zone clearance value:" ) + ReturnUnitSymbol( g_UnitMetric );
|
|
||||||
m_ClearanceValueTitle->SetLabel( title );
|
|
||||||
|
|
||||||
title = _( "Grid :" ) + ReturnUnitSymbol( g_UnitMetric );;
|
|
||||||
m_GridCtrl->SetLabel( title );
|
|
||||||
|
|
||||||
if( g_DesignSettings.m_ZoneClearence == 0 )
|
|
||||||
g_DesignSettings.m_ZoneClearence = g_DesignSettings.m_TrackClearence;
|
|
||||||
title = ReturnStringFromValue( g_UnitMetric,
|
|
||||||
g_DesignSettings.m_ZoneClearence,
|
|
||||||
m_Parent->m_InternalUnits );
|
|
||||||
m_ZoneClearanceCtrl->SetValue( title );
|
|
||||||
|
|
||||||
if( g_Zone_45_Only )
|
|
||||||
m_OrientEdgesOpt->SetSelection( 1 );
|
|
||||||
|
|
||||||
static const int GridList[4] = { 25, 50, 100, 250 };
|
|
||||||
int selection = 0;
|
|
||||||
|
|
||||||
int grid_routing = g_GridRoutingSize;
|
|
||||||
|
|
||||||
if( m_Zone_Container )
|
|
||||||
grid_routing = m_Zone_Container->m_GridFillValue;
|
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < 4; ii++ )
|
|
||||||
{
|
|
||||||
wxString msg = ReturnStringFromValue( g_UnitMetric,
|
|
||||||
GridList[ii],
|
|
||||||
m_Parent->m_InternalUnits );
|
|
||||||
m_GridCtrl->SetString( ii, msg );
|
|
||||||
if( grid_routing == GridList[ii] )
|
|
||||||
selection = ii;
|
|
||||||
}
|
|
||||||
if( grid_routing == 0 ) // No Grid: fill with polygons
|
|
||||||
selection = 4;
|
|
||||||
|
|
||||||
m_GridCtrl->SetSelection( selection );
|
|
||||||
|
|
||||||
if( m_Zone_Container )
|
|
||||||
{
|
|
||||||
title = ReturnStringFromValue( g_UnitMetric,
|
|
||||||
m_Zone_Container->m_ZoneClearance,
|
|
||||||
m_Parent->m_InternalUnits );
|
|
||||||
m_ZoneClearanceCtrl->SetValue( title );
|
|
||||||
|
|
||||||
switch( m_Zone_Container->m_PadOption )
|
|
||||||
{
|
|
||||||
case ZONE_CONTAINER::PAD_NOT_IN_ZONE: // Pads are not covered
|
|
||||||
m_FillOpt->SetSelection( 2 );
|
|
||||||
break;
|
|
||||||
case ZONE_CONTAINER::THERMAL_PAD: // Use thermal relief for pads
|
|
||||||
m_FillOpt->SetSelection( 1 );
|
|
||||||
break;
|
|
||||||
case ZONE_CONTAINER::PAD_IN_ZONE: // pads are covered by copper
|
|
||||||
m_FillOpt->SetSelection( 0 );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
g_Zone_Hatching = m_Zone_Container->m_Poly->GetHatchStyle();
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch( s_Zone_Pad_Options )
|
|
||||||
{
|
|
||||||
case ZONE_CONTAINER::PAD_NOT_IN_ZONE: // Pads are not covered
|
|
||||||
m_FillOpt->SetSelection( 2 );
|
|
||||||
break;
|
|
||||||
case ZONE_CONTAINER::THERMAL_PAD: // Use thermal relief for pads
|
|
||||||
m_FillOpt->SetSelection( 1 );
|
|
||||||
break;
|
|
||||||
case ZONE_CONTAINER::PAD_IN_ZONE: // pads are covered by copper
|
|
||||||
m_FillOpt->SetSelection( 0 );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
g_Zone_Hatching = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_OUTLINES_HATCH_OPTION_KEY,
|
|
||||||
(long) CPolyLine::DIAGONAL_EDGE );
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( g_Zone_Hatching )
|
|
||||||
{
|
|
||||||
case CPolyLine::NO_HATCH:
|
|
||||||
m_OutlineAppearanceCtrl->SetSelection(0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CPolyLine::DIAGONAL_EDGE:
|
|
||||||
m_OutlineAppearanceCtrl->SetSelection(1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CPolyLine::DIAGONAL_FULL:
|
|
||||||
m_OutlineAppearanceCtrl->SetSelection(2);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* build copper layers list */
|
|
||||||
int layer_cnt = board->GetCopperLayerCount();
|
|
||||||
for( int ii = 0; ii < board->GetCopperLayerCount(); ii++ )
|
|
||||||
{
|
|
||||||
wxString msg;
|
|
||||||
int layer_number = COPPER_LAYER_N;
|
|
||||||
|
|
||||||
if( layer_cnt <= 1 || ii < layer_cnt - 1 )
|
|
||||||
layer_number = ii;
|
|
||||||
else if( ii == layer_cnt - 1 )
|
|
||||||
layer_number = LAYER_CMP_N;
|
|
||||||
|
|
||||||
m_LayerId[ii] = layer_number;
|
|
||||||
|
|
||||||
msg = board->GetLayerName( layer_number ).Trim();
|
|
||||||
m_LayerSelectionCtrl->InsertItems( 1, &msg, ii );
|
|
||||||
|
|
||||||
if( m_Zone_Container )
|
|
||||||
{
|
|
||||||
if( m_Zone_Container->GetLayer() == layer_number )
|
|
||||||
m_LayerSelectionCtrl->SetSelection( ii );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if( ((PCB_SCREEN*)(m_Parent->GetScreen()))->m_Active_Layer == layer_number )
|
|
||||||
m_LayerSelectionCtrl->SetSelection( ii );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_NetSortingOption->SetSelection(m_NetSorting == BOARD::ALPHA_SORT ? 0 : 1 );
|
|
||||||
|
|
||||||
wxString NetNameFilter;
|
|
||||||
if( m_Parent->m_Parent->m_EDA_Config )
|
|
||||||
{
|
|
||||||
NetNameFilter = m_Parent->m_Parent->m_EDA_Config->Read( ZONE_NET_FILTER_STRING_KEY, wxT("N_0*") );
|
|
||||||
}
|
|
||||||
|
|
||||||
m_NetNameFilter->SetValue(NetNameFilter);
|
|
||||||
wxArrayString ListNetName;
|
|
||||||
m_Parent->m_Pcb->ReturnSortedNetnamesList( ListNetName,
|
|
||||||
m_NetSorting == 0 ? BOARD::ALPHA_SORT : BOARD::PAD_CNT_SORT );
|
|
||||||
|
|
||||||
if ( m_NetSorting != 0 )
|
|
||||||
{
|
|
||||||
wxString Filter = m_NetNameFilter->GetValue();
|
|
||||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
|
||||||
{
|
|
||||||
if( ListNetName[ii].Matches(Filter.GetData() ) )
|
|
||||||
{
|
|
||||||
ListNetName. RemoveAt(ii);
|
|
||||||
ii--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
|
||||||
|
|
||||||
// Select net:
|
|
||||||
int net_select = g_HightLigth_NetCode;
|
|
||||||
if( m_Zone_Container )
|
|
||||||
net_select = m_Zone_Container->GetNet();
|
|
||||||
|
|
||||||
if( net_select > 0 )
|
|
||||||
{
|
|
||||||
EQUIPOT* equipot = m_Parent->m_Pcb->FindNet( net_select );
|
|
||||||
if( equipot ) // Search net in list and select it
|
|
||||||
{
|
|
||||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
|
||||||
{
|
|
||||||
if( ListNetName[ii] == equipot->m_Netname )
|
|
||||||
{
|
|
||||||
m_ListNetNameSelection->SetSelection( ii );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (GetSizer())
|
|
||||||
{
|
|
||||||
GetSizer()->SetSizeHints(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Should we show tooltips?
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool WinEDA_ZoneFrame::ShowToolTips()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get bitmap resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxBitmap WinEDA_ZoneFrame::GetBitmapResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Bitmap retrieval
|
|
||||||
////@begin WinEDA_ZoneFrame bitmap retrieval
|
|
||||||
wxUnusedVar(name);
|
|
||||||
return wxNullBitmap;
|
|
||||||
////@end WinEDA_ZoneFrame bitmap retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get icon resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxIcon WinEDA_ZoneFrame::GetIconResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Icon retrieval
|
|
||||||
////@begin WinEDA_ZoneFrame icon retrieval
|
|
||||||
wxUnusedVar(name);
|
|
||||||
return wxNullIcon;
|
|
||||||
////@end WinEDA_ZoneFrame icon retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::OnCancelClick( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
EndModal( ZONE_ABORT );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************/
|
|
||||||
bool WinEDA_ZoneFrame::AcceptOptions(bool aPromptForErrors)
|
|
||||||
/**********************************************************/
|
|
||||||
/** Function WinEDA_ZoneFrame::AcceptOptions(
|
|
||||||
* @return false if incorrect options, true if Ok.
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
switch( m_FillOpt->GetSelection() )
|
|
||||||
{
|
|
||||||
case 2:
|
|
||||||
s_Zone_Pad_Options = ZONE_CONTAINER::PAD_NOT_IN_ZONE; // Pads are not covered
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
s_Zone_Pad_Options = ZONE_CONTAINER::THERMAL_PAD; // Use thermal relief for pads
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0:
|
|
||||||
s_Zone_Pad_Options = ZONE_CONTAINER::PAD_IN_ZONE; // pads are covered by copper
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( m_OutlineAppearanceCtrl->GetSelection() )
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
g_Zone_Hatching = CPolyLine::NO_HATCH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
g_Zone_Hatching = CPolyLine::DIAGONAL_EDGE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
g_Zone_Hatching = CPolyLine::DIAGONAL_FULL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( m_Parent->m_Parent->m_EDA_Config )
|
|
||||||
{
|
|
||||||
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_OUTLINES_HATCH_OPTION_KEY, (long)g_Zone_Hatching);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( m_GridCtrl->GetSelection() )
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
g_GridRoutingSize = 25;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
g_GridRoutingSize = 50;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
case 2:
|
|
||||||
g_GridRoutingSize = 100;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
g_GridRoutingSize = 250;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
g_GridRoutingSize = 0;
|
|
||||||
wxMessageBox( wxT(
|
|
||||||
"You are using No grid for filling zones\nThis is currently in development and for tests only.\n Do not use for production"));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxString txtvalue = m_ZoneClearanceCtrl->GetValue();
|
|
||||||
g_DesignSettings.m_ZoneClearence =
|
|
||||||
ReturnValueFromString( g_UnitMetric, txtvalue, m_Parent->m_InternalUnits );
|
|
||||||
if( m_OrientEdgesOpt->GetSelection() == 0 )
|
|
||||||
g_Zone_45_Only = FALSE;
|
|
||||||
else
|
|
||||||
g_Zone_45_Only = TRUE;
|
|
||||||
|
|
||||||
/* Get the layer selection for this zone */
|
|
||||||
int ii = m_LayerSelectionCtrl->GetSelection();
|
|
||||||
if( ii < 0 && aPromptForErrors )
|
|
||||||
{
|
|
||||||
DisplayError( this, _( "Error : you must choose a layer" ) );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
g_CurrentZone_Layer = m_LayerId[ii];
|
|
||||||
|
|
||||||
/* Get the net name selection for this zone */
|
|
||||||
ii = m_ListNetNameSelection->GetSelection();
|
|
||||||
if( ii < 0 && aPromptForErrors )
|
|
||||||
{
|
|
||||||
DisplayError( this, _( "Error : you must choose a net name" ) );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxString net_name = m_ListNetNameSelection->GetString( ii );
|
|
||||||
|
|
||||||
/* Search net_code for this net */
|
|
||||||
EQUIPOT* net;
|
|
||||||
s_NetcodeSelection = 0;
|
|
||||||
for( net = m_Parent->m_Pcb->m_Equipots; net; net = net->Next() )
|
|
||||||
{
|
|
||||||
if( net->m_Netname == net_name )
|
|
||||||
{
|
|
||||||
s_NetcodeSelection = net->GetNet();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_NET_SORTING_OPTION
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::OnNetSortingOptionSelected( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
wxArrayString ListNetName;
|
|
||||||
m_NetSorting = m_NetSortingOption->GetSelection();
|
|
||||||
m_Parent->m_Pcb->ReturnSortedNetnamesList( ListNetName,
|
|
||||||
m_NetSorting == 0 ? BOARD::ALPHA_SORT : BOARD::PAD_CNT_SORT );
|
|
||||||
if ( m_NetSorting != 0 )
|
|
||||||
{
|
|
||||||
wxString Filter = m_NetNameFilter->GetValue();
|
|
||||||
for (unsigned ii = 0; ii < ListNetName.GetCount(); ii ++ )
|
|
||||||
{
|
|
||||||
if ( ListNetName[ii].Matches(Filter.GetData() ) )
|
|
||||||
{
|
|
||||||
ListNetName. RemoveAt(ii);
|
|
||||||
ii--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_ListNetNameSelection->Clear();
|
|
||||||
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
|
||||||
if( m_Parent->m_Parent->m_EDA_Config )
|
|
||||||
{
|
|
||||||
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_SORT_OPTION_KEY, (long) m_NetSorting );
|
|
||||||
m_Parent->m_Parent->m_EDA_Config->Write( ZONE_NET_FILTER_STRING_KEY, m_NetNameFilter->GetValue() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::OnOkClick( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
if ( AcceptOptions(true) )
|
|
||||||
EndModal( ZONE_OK );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,146 +0,0 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: dialog_zones_by_polygon.h
|
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
|
||||||
// Modified by:
|
|
||||||
// Created: 25/01/2006 11:35:19
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: GNU License
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 25/01/2006 11:35:19
|
|
||||||
|
|
||||||
#ifndef DIALOG_ZONES_H_
|
|
||||||
#define DIALOG_ZONES_H_
|
|
||||||
|
|
||||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
||||||
#pragma interface "dialog_zones_by_polygon.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Includes
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin includes
|
|
||||||
#include "wx/valgen.h"
|
|
||||||
////@end includes
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Forward declarations
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin forward declarations
|
|
||||||
////@end forward declarations
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control identifiers
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin control identifiers
|
|
||||||
#define ID_DIALOG 10000
|
|
||||||
#define ID_RADIOBOX_GRID_SELECTION 10003
|
|
||||||
#define ID_TEXTCTRL1 10007
|
|
||||||
#define ID_RADIOBOX_OUTLINES_OPTION 10006
|
|
||||||
#define ID_RADIOBOX4 10008
|
|
||||||
#define ID_RADIOBOX5 10009
|
|
||||||
#define ID_NET_SORTING_OPTION 10005
|
|
||||||
#define ID_TEXTCTRL_NETNAMES_FILTER 10010
|
|
||||||
#define ID_NETNAME_SELECTION 10001
|
|
||||||
#define wxID_LAYER_SELECTION 10004
|
|
||||||
#define ID_LAYER_CHOICE 10002
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_TITLE _("Fill Zones Options")
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_IDNAME ID_DIALOG
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_SIZE wxSize(400, 300)
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_POSITION wxDefaultPosition
|
|
||||||
////@end control identifiers
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Compatibility
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef wxCLOSE_BOX
|
|
||||||
#define wxCLOSE_BOX 0x1000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame class declaration
|
|
||||||
*/
|
|
||||||
|
|
||||||
class WinEDA_ZoneFrame: public wxDialog
|
|
||||||
{
|
|
||||||
DECLARE_DYNAMIC_CLASS( WinEDA_ZoneFrame )
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
|
|
||||||
public:
|
|
||||||
/// Constructors
|
|
||||||
WinEDA_ZoneFrame( );
|
|
||||||
WinEDA_ZoneFrame( WinEDA_PcbFrame* parent,
|
|
||||||
ZONE_CONTAINER * zone_container,
|
|
||||||
wxWindowID id = SYMBOL_WINEDA_ZONEFRAME_IDNAME,
|
|
||||||
const wxString& caption = SYMBOL_WINEDA_ZONEFRAME_TITLE,
|
|
||||||
const wxPoint& pos = SYMBOL_WINEDA_ZONEFRAME_POSITION,
|
|
||||||
const wxSize& size = SYMBOL_WINEDA_ZONEFRAME_SIZE,
|
|
||||||
long style = SYMBOL_WINEDA_ZONEFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Creation
|
|
||||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_ZONEFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_ZONEFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_ZONEFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_ZONEFRAME_SIZE, long style = SYMBOL_WINEDA_ZONEFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Creates the controls and sizers
|
|
||||||
void CreateControls();
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame event handler declarations
|
|
||||||
|
|
||||||
/// wxEVT_INIT_DIALOG event handler for ID_DIALOG
|
|
||||||
void OnInitDialog( wxInitDialogEvent& event );
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
|
||||||
void OnOkClick( wxCommandEvent& event );
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
|
||||||
void OnCancelClick( wxCommandEvent& event );
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_NET_SORTING_OPTION
|
|
||||||
void OnNetSortingOptionSelected( wxCommandEvent& event );
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame event handler declarations
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame member function declarations
|
|
||||||
|
|
||||||
/// Retrieves bitmap resources
|
|
||||||
wxBitmap GetBitmapResource( const wxString& name );
|
|
||||||
|
|
||||||
/// Retrieves icon resources
|
|
||||||
wxIcon GetIconResource( const wxString& name );
|
|
||||||
////@end WinEDA_ZoneFrame member function declarations
|
|
||||||
|
|
||||||
/// Should we show tooltips?
|
|
||||||
static bool ShowToolTips();
|
|
||||||
|
|
||||||
bool AcceptOptions(bool aPromptForErrors);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame member variables
|
|
||||||
wxRadioBox* m_GridCtrl;
|
|
||||||
wxStaticText* m_ClearanceValueTitle;
|
|
||||||
wxTextCtrl* m_ZoneClearanceCtrl;
|
|
||||||
wxRadioBox* m_OutlineAppearanceCtrl;
|
|
||||||
wxRadioBox* m_FillOpt;
|
|
||||||
wxRadioBox* m_OrientEdgesOpt;
|
|
||||||
wxRadioBox* m_NetSortingOption;
|
|
||||||
wxTextCtrl* m_NetNameFilter;
|
|
||||||
wxListBox* m_ListNetNameSelection;
|
|
||||||
wxListBox* m_LayerSelectionCtrl;
|
|
||||||
////@end WinEDA_ZoneFrame member variables
|
|
||||||
|
|
||||||
WinEDA_PcbFrame * m_Parent;
|
|
||||||
int m_NetSorting;
|
|
||||||
|
|
||||||
int m_LayerId[LAYER_COUNT]; // Handle the real layer number from layer name position in m_LayerSelectionCtrl
|
|
||||||
ZONE_CONTAINER * m_Zone_Container;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // DIALOG_ZONES_H_
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -22,6 +22,8 @@ OBJECTS= $(TARGET).o classpcb.o\
|
||||||
$(SPECCTRA_TOOLS)\
|
$(SPECCTRA_TOOLS)\
|
||||||
lay2plot.o\
|
lay2plot.o\
|
||||||
dialog_freeroute_exchange.o\
|
dialog_freeroute_exchange.o\
|
||||||
|
dialog_copper_zones_frame.o\
|
||||||
|
dialog_copper_zones.o\
|
||||||
dialog_non_copper_zones_properties.o\
|
dialog_non_copper_zones_properties.o\
|
||||||
zones_non_copper_type_functions.o\
|
zones_non_copper_type_functions.o\
|
||||||
modedit_undo_redo.o\
|
modedit_undo_redo.o\
|
||||||
|
@ -297,7 +299,9 @@ graphpcb.o: graphpcb.cpp cell.h autorout.h $(COMMON)
|
||||||
|
|
||||||
zones.o: zones.cpp cell.h $(COMMON)
|
zones.o: zones.cpp cell.h $(COMMON)
|
||||||
|
|
||||||
zones_by_polygon.o: zones_by_polygon.cpp dialog_zones_by_polygon.cpp dialog_zones_by_polygon.h $(COMMON)
|
|
||||||
|
|
||||||
|
zones_by_polygon.o: zones_by_polygon.cpp $(COMMON)
|
||||||
|
|
||||||
|
|
||||||
undelete.o: undelete.cpp $(COMMON)
|
undelete.o: undelete.cpp $(COMMON)
|
||||||
|
|
|
@ -400,6 +400,12 @@ void WinEDA_PcbFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
case TYPEDRAWSEGMENT:
|
case TYPEDRAWSEGMENT:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TYPEZONE_CONTAINER:
|
||||||
|
if( DrawStruct->m_Flags )
|
||||||
|
break;
|
||||||
|
Edit_Zone_Params( &dc, (ZONE_CONTAINER*) DrawStruct );
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,14 @@ eda_global bool g_Zone_45_Only
|
||||||
= FALSE
|
= FALSE
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
eda_global int g_NetcodeSelection; // Net code selection for the current zone
|
||||||
eda_global int g_CurrentZone_Layer; // Layer used to create the current zone
|
eda_global int g_CurrentZone_Layer; // Layer used to create the current zone
|
||||||
eda_global int g_Zone_Hatching; // Option to show the zone area (outlines only, short hatches or full hatches
|
eda_global int g_Zone_Hatching; // Option to show the zone area (outlines only, short hatches or full hatches
|
||||||
|
|
||||||
|
eda_global ZONE_CONTAINER::m_PadInZone g_Zone_Pad_Options
|
||||||
|
#ifdef MAIN
|
||||||
|
= ZONE_CONTAINER::THERMAL_PAD
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
||||||
#endif // ifndef ZONES_H
|
#endif // ifndef ZONES_H
|
||||||
|
|
|
@ -48,15 +48,13 @@ static void Show_Zone_Corner_Or_Outline_While_Move_Mouse( WinEDA_DrawPanel* pane
|
||||||
bool erase );
|
bool erase );
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
static ZONE_CONTAINER::m_PadInZone s_Zone_Pad_Options = ZONE_CONTAINER::THERMAL_PAD;
|
|
||||||
static int s_NetcodeSelection; // Net code selection for the current zone
|
|
||||||
static wxPoint s_CornerInitialPosition; // Used to abort a move corner command
|
static wxPoint s_CornerInitialPosition; // Used to abort a move corner command
|
||||||
static bool s_CornerIsNew; // Used to abort a move corner command (if it is a new corner, it must be deleted)
|
static bool s_CornerIsNew; // Used to abort a move corner command (if it is a new corner, it must be deleted)
|
||||||
static bool s_AddCutoutToCurrentZone; // if true, the next outline will be addes to s_CurrentZone
|
static bool s_AddCutoutToCurrentZone; // if true, the next outline will be addes to s_CurrentZone
|
||||||
static ZONE_CONTAINER* s_CurrentZone; // if != NULL, these ZONE_CONTAINER params will be used for the next zone
|
static ZONE_CONTAINER* s_CurrentZone; // if != NULL, these ZONE_CONTAINER params will be used for the next zone
|
||||||
static wxPoint s_CursorLastPosition; // in move zone outline, last cursor position. Used to calculate the move vector
|
static wxPoint s_CursorLastPosition; // in move zone outline, last cursor position. Used to calculate the move vector
|
||||||
|
|
||||||
#include "dialog_zones_by_polygon.cpp"
|
#include "dialog_copper_zones.h"
|
||||||
|
|
||||||
/**********************************************************************************/
|
/**********************************************************************************/
|
||||||
void WinEDA_PcbFrame::Add_Similar_Zone( wxDC* DC, ZONE_CONTAINER* zone_container )
|
void WinEDA_PcbFrame::Add_Similar_Zone( wxDC* DC, ZONE_CONTAINER* zone_container )
|
||||||
|
@ -225,7 +223,7 @@ void WinEDA_PcbFrame::Start_Move_Zone_Corner( wxDC* DC, ZONE_CONTAINER* zone_con
|
||||||
Hight_Light( DC ); // Remove old hightlight selection
|
Hight_Light( DC ); // Remove old hightlight selection
|
||||||
}
|
}
|
||||||
|
|
||||||
g_HightLigth_NetCode = s_NetcodeSelection = zone_container->GetNet();
|
g_HightLigth_NetCode = g_NetcodeSelection = zone_container->GetNet();
|
||||||
if( DC )
|
if( DC )
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
}
|
}
|
||||||
|
@ -278,7 +276,7 @@ void WinEDA_PcbFrame::Start_Move_Zone_Outlines( wxDC* DC, ZONE_CONTAINER* zone_c
|
||||||
Hight_Light( DC ); // Remove old hightlight selection
|
Hight_Light( DC ); // Remove old hightlight selection
|
||||||
}
|
}
|
||||||
|
|
||||||
g_HightLigth_NetCode = s_NetcodeSelection = zone_container->GetNet();
|
g_HightLigth_NetCode = g_NetcodeSelection = zone_container->GetNet();
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -518,14 +516,14 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
||||||
zone->SetLayer( ( (PCB_SCREEN*) GetScreen() )->m_Active_Layer );
|
zone->SetLayer( ( (PCB_SCREEN*) GetScreen() )->m_Active_Layer );
|
||||||
if( zone->IsOnCopperLayer() )
|
if( zone->IsOnCopperLayer() )
|
||||||
{ // Put a zone on a copper layer
|
{ // Put a zone on a copper layer
|
||||||
WinEDA_ZoneFrame* frame = new WinEDA_ZoneFrame( this, zone );
|
dialog_copper_zone* frame = new dialog_copper_zone( this, zone );
|
||||||
diag = frame->ShowModal();
|
diag = frame->ShowModal();
|
||||||
frame->Destroy();
|
frame->Destroy();
|
||||||
}
|
}
|
||||||
else // Put a zone on a non copper layer (technical layer)
|
else // Put a zone on a non copper layer (technical layer)
|
||||||
{
|
{
|
||||||
diag = InstallDialogNonCopperZonesEditor( this, zone );
|
diag = InstallDialogNonCopperZonesEditor( this, zone );
|
||||||
s_NetcodeSelection = 0; // No net for non copper zones
|
g_NetcodeSelection = 0; // No net for non copper zones
|
||||||
}
|
}
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
DrawPanel->m_IgnoreMouseEvents = FALSE;
|
DrawPanel->m_IgnoreMouseEvents = FALSE;
|
||||||
|
@ -545,14 +543,14 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
||||||
/* Show the Net for zones on copper layers */
|
/* Show the Net for zones on copper layers */
|
||||||
if( g_CurrentZone_Layer < FIRST_NO_COPPER_LAYER )
|
if( g_CurrentZone_Layer < FIRST_NO_COPPER_LAYER )
|
||||||
{
|
{
|
||||||
if( g_HightLigt_Status && (g_HightLigth_NetCode != s_NetcodeSelection) )
|
if( g_HightLigt_Status && (g_HightLigth_NetCode != g_NetcodeSelection) )
|
||||||
{
|
{
|
||||||
Hight_Light( DC ); // Remove old hightlight selection
|
Hight_Light( DC ); // Remove old hightlight selection
|
||||||
}
|
}
|
||||||
|
|
||||||
if( s_CurrentZone )
|
if( s_CurrentZone )
|
||||||
s_NetcodeSelection = s_CurrentZone->GetNet();
|
g_NetcodeSelection = s_CurrentZone->GetNet();
|
||||||
g_HightLigth_NetCode = s_NetcodeSelection;
|
g_HightLigth_NetCode = g_NetcodeSelection;
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
}
|
}
|
||||||
if( !s_AddCutoutToCurrentZone )
|
if( !s_AddCutoutToCurrentZone )
|
||||||
|
@ -564,9 +562,9 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
||||||
{
|
{
|
||||||
zone->m_Flags = IS_NEW;
|
zone->m_Flags = IS_NEW;
|
||||||
zone->SetLayer( g_CurrentZone_Layer );
|
zone->SetLayer( g_CurrentZone_Layer );
|
||||||
zone->SetNet( s_NetcodeSelection );
|
zone->SetNet( g_NetcodeSelection );
|
||||||
zone->m_TimeStamp = GetTimeStamp();
|
zone->m_TimeStamp = GetTimeStamp();
|
||||||
zone->m_PadOption = s_Zone_Pad_Options;
|
zone->m_PadOption = g_Zone_Pad_Options;
|
||||||
zone->m_ZoneClearance = g_DesignSettings.m_ZoneClearence;
|
zone->m_ZoneClearance = g_DesignSettings.m_ZoneClearence;
|
||||||
zone->m_GridFillValue = g_GridRoutingSize;
|
zone->m_GridFillValue = g_GridRoutingSize;
|
||||||
zone->m_Poly->Start( g_CurrentZone_Layer,
|
zone->m_Poly->Start( g_CurrentZone_Layer,
|
||||||
|
@ -758,7 +756,7 @@ void WinEDA_PcbFrame::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container
|
||||||
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
||||||
if( zone_container->GetLayer() < FIRST_NO_COPPER_LAYER )
|
if( zone_container->GetLayer() < FIRST_NO_COPPER_LAYER )
|
||||||
{ // edit a zone on a copper layer
|
{ // edit a zone on a copper layer
|
||||||
WinEDA_ZoneFrame* frame = new WinEDA_ZoneFrame( this, zone_container );
|
dialog_copper_zone* frame = new dialog_copper_zone( this, zone_container );
|
||||||
diag = frame->ShowModal();
|
diag = frame->ShowModal();
|
||||||
frame->Destroy();
|
frame->Destroy();
|
||||||
}
|
}
|
||||||
|
@ -779,12 +777,12 @@ void WinEDA_PcbFrame::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container
|
||||||
}
|
}
|
||||||
|
|
||||||
zone_container->SetLayer( g_CurrentZone_Layer );
|
zone_container->SetLayer( g_CurrentZone_Layer );
|
||||||
zone_container->SetNet( s_NetcodeSelection );
|
zone_container->SetNet( g_NetcodeSelection );
|
||||||
EQUIPOT* net = m_Pcb->FindNet( s_NetcodeSelection );
|
EQUIPOT* net = m_Pcb->FindNet( g_NetcodeSelection );
|
||||||
if( net )
|
if( net )
|
||||||
zone_container->m_Netname = net->m_Netname;
|
zone_container->m_Netname = net->m_Netname;
|
||||||
zone_container->m_Poly->SetHatch( g_Zone_Hatching );
|
zone_container->m_Poly->SetHatch( g_Zone_Hatching );
|
||||||
zone_container->m_PadOption = s_Zone_Pad_Options;
|
zone_container->m_PadOption = g_Zone_Pad_Options;
|
||||||
zone_container->m_ZoneClearance = g_DesignSettings.m_ZoneClearence;
|
zone_container->m_ZoneClearance = g_DesignSettings.m_ZoneClearence;
|
||||||
zone_container->m_GridFillValue = g_GridRoutingSize;
|
zone_container->m_GridFillValue = g_GridRoutingSize;
|
||||||
|
|
||||||
|
@ -858,13 +856,13 @@ int WinEDA_PcbFrame::Fill_Zone( wxDC* DC, ZONE_CONTAINER* zone_container, bool v
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Show the Net */
|
/* Show the Net */
|
||||||
s_NetcodeSelection = zone_container->GetNet();
|
g_NetcodeSelection = zone_container->GetNet();
|
||||||
if( g_HightLigt_Status && (g_HightLigth_NetCode != s_NetcodeSelection) && DC )
|
if( g_HightLigt_Status && (g_HightLigth_NetCode != g_NetcodeSelection) && DC )
|
||||||
{
|
{
|
||||||
Hight_Light( DC ); // Remove old hightlight selection
|
Hight_Light( DC ); // Remove old hightlight selection
|
||||||
}
|
}
|
||||||
|
|
||||||
g_HightLigth_NetCode = s_NetcodeSelection;
|
g_HightLigth_NetCode = g_NetcodeSelection;
|
||||||
if( DC )
|
if( DC )
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
|
|
||||||
|
@ -892,6 +890,7 @@ int WinEDA_PcbFrame::Fill_Zone( wxDC* DC, ZONE_CONTAINER* zone_container, bool v
|
||||||
int error_level = 0;
|
int error_level = 0;
|
||||||
if( zone_container->m_GridFillValue == 0 )
|
if( zone_container->m_GridFillValue == 0 )
|
||||||
{
|
{
|
||||||
|
zone_container->m_FilledPolysList.clear();
|
||||||
zone_container->BuildFilledPolysListData( m_Pcb );
|
zone_container->BuildFilledPolysListData( m_Pcb );
|
||||||
if ( DC )
|
if ( DC )
|
||||||
DrawPanel->Refresh();
|
DrawPanel->Refresh();
|
||||||
|
@ -936,7 +935,6 @@ int WinEDA_PcbFrame::Fill_All_Zones( wxDC* DC, bool verbose )
|
||||||
for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
|
for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
|
||||||
{
|
{
|
||||||
zone_container = m_Pcb->GetArea( ii );
|
zone_container = m_Pcb->GetArea( ii );
|
||||||
zone_container->m_FilledPolysList.clear();
|
|
||||||
error_level = Fill_Zone( NULL, zone_container, verbose );
|
error_level = Fill_Zone( NULL, zone_container, verbose );
|
||||||
if( error_level && !verbose )
|
if( error_level && !verbose )
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue