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 ""
|
||||
"Project-Id-Version: kicad\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-10-07 20:39+0100\n"
|
||||
"PO-Revision-Date: 2008-10-07 20:47+0100\n"
|
||||
"POT-Creation-Date: 2008-10-09 22:04+0100\n"
|
||||
"PO-Revision-Date: 2008-10-09 22:05+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -347,7 +347,7 @@ msgstr "dimension"
|
|||
#: pcbnew/class_marker.cpp:133
|
||||
#: pcbnew/class_text_mod.cpp:503
|
||||
#: pcbnew/class_track.cpp:852
|
||||
#: pcbnew/class_zone.cpp:722
|
||||
#: pcbnew/class_zone.cpp:758
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
|
@ -370,7 +370,7 @@ msgstr "Segment"
|
|||
#: pcbnew/class_pcb_text.cpp:190
|
||||
#: pcbnew/class_text_mod.cpp:516
|
||||
#: pcbnew/class_track.cpp:909
|
||||
#: pcbnew/class_zone.cpp:756
|
||||
#: pcbnew/class_zone.cpp:792
|
||||
msgid "Layer"
|
||||
msgstr "Couche"
|
||||
|
||||
|
@ -571,12 +571,12 @@ msgid "Display"
|
|||
msgstr "Affichage"
|
||||
|
||||
#: pcbnew/class_track.cpp:868
|
||||
#: pcbnew/class_zone.cpp:744
|
||||
#: pcbnew/class_zone.cpp:780
|
||||
msgid "NetName"
|
||||
msgstr "NetName"
|
||||
|
||||
#: pcbnew/class_track.cpp:873
|
||||
#: pcbnew/class_zone.cpp:752
|
||||
#: pcbnew/class_zone.cpp:788
|
||||
msgid "NetCode"
|
||||
msgstr "NetCode"
|
||||
|
||||
|
@ -588,26 +588,30 @@ msgstr "Standard"
|
|||
msgid "Diam"
|
||||
msgstr "Diam"
|
||||
|
||||
#: pcbnew/class_zone.cpp:747
|
||||
#: pcbnew/class_zone.cpp:783
|
||||
msgid "Non Copper Zone"
|
||||
msgstr "Zone non Cuivre"
|
||||
|
||||
#: pcbnew/class_zone.cpp:760
|
||||
#: pcbnew/class_zone.cpp:796
|
||||
msgid "Corners"
|
||||
msgstr "Sommets"
|
||||
|
||||
#: pcbnew/class_zone.cpp:765
|
||||
#: pcbnew/class_zone.cpp:802
|
||||
msgid "No Grid"
|
||||
msgstr "Pas de Grille"
|
||||
|
||||
#: pcbnew/class_zone.cpp:766
|
||||
#: pcbnew/class_zone.cpp:803
|
||||
msgid "Fill Grid"
|
||||
msgstr "Grille de Remplissage"
|
||||
|
||||
#: pcbnew/class_zone.cpp:770
|
||||
#: pcbnew/class_zone.cpp:808
|
||||
msgid "Hatch lines"
|
||||
msgstr "Lignes de Hachure"
|
||||
|
||||
#: pcbnew/class_zone.cpp:814
|
||||
msgid "Corners in DrawList"
|
||||
msgstr ""
|
||||
|
||||
#: pcbnew/clean.cpp:179
|
||||
msgid "Delete unconnected tracks:"
|
||||
msgstr "Suppression Pistes non connectées"
|
||||
|
@ -1841,101 +1845,6 @@ msgstr "Epais. Piste"
|
|||
msgid "Mask clearance"
|
||||
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:272
|
||||
msgid "Plot"
|
||||
|
@ -2303,7 +2212,6 @@ msgid "GenCAD file:"
|
|||
msgstr "Fichier GenCAD:"
|
||||
|
||||
#: pcbnew/export_gencad.cpp:83
|
||||
#: pcbnew/files.cpp:352
|
||||
msgid "Unable to create "
|
||||
msgstr "Impossible de créer "
|
||||
|
||||
|
@ -2649,6 +2557,7 @@ msgid "Search footprint"
|
|||
msgstr "Cherche Module"
|
||||
|
||||
#: pcbnew/modules.cpp:305
|
||||
#: pcbnew/onrightclick.cpp:730
|
||||
msgid "Delete Module"
|
||||
msgstr "Supprimer Module"
|
||||
|
||||
|
@ -2845,22 +2754,18 @@ msgid "Read Global AutoRouter Data"
|
|||
msgstr "Lire Données de L'autorouteur global"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:447
|
||||
#: pcbnew/modedit_onclick.cpp:206
|
||||
msgid "Cancel Block"
|
||||
msgstr "Annuler Bloc"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:449
|
||||
#: pcbnew/modedit_onclick.cpp:208
|
||||
msgid "Zoom Block (drag middle mouse)"
|
||||
msgstr "Zoom Bloc (drag bouton du milieu souris)"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:452
|
||||
#: pcbnew/modedit_onclick.cpp:211
|
||||
msgid "Place Block"
|
||||
msgstr "Place Bloc"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:454
|
||||
#: pcbnew/modedit_onclick.cpp:213
|
||||
msgid "Copy Block (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)"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:458
|
||||
#: pcbnew/modedit_onclick.cpp:217
|
||||
msgid "Rotate Block (ctrl + drag mouse)"
|
||||
msgstr "Rotation Bloc (ctrl + drag mouse)"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:460
|
||||
#: pcbnew/modedit_onclick.cpp:219
|
||||
msgid "Delete Block (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:758
|
||||
#: pcbnew/onrightclick.cpp:862
|
||||
#: pcbnew/modedit_onclick.cpp:306
|
||||
msgid "Edit"
|
||||
msgstr "Editer"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:756
|
||||
#: pcbnew/onrightclick.cpp:860
|
||||
#: pcbnew/modedit_onclick.cpp:241
|
||||
msgid "Rotate"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:795
|
||||
#: pcbnew/modedit_onclick.cpp:263
|
||||
msgid "Edit Pad"
|
||||
msgstr "Edit Pad"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:799
|
||||
#: pcbnew/modedit_onclick.cpp:265
|
||||
msgid "New Pad Settings"
|
||||
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"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:803
|
||||
#: pcbnew/modedit_onclick.cpp:267
|
||||
msgid "Export Pad Settings"
|
||||
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"
|
||||
|
||||
#: pcbnew/onrightclick.cpp:810
|
||||
#: pcbnew/modedit_onclick.cpp:274
|
||||
msgid "Global Pad Settings"
|
||||
msgstr "Edition Globale des pads"
|
||||
|
||||
|
@ -3593,6 +3490,7 @@ msgstr "Impossible de créer fichier "
|
|||
|
||||
#: pcbnew/plotgerb.cpp:82
|
||||
#: pcbnew/plothpgl.cpp:74
|
||||
#: pcbnew/plotps.cpp:58
|
||||
msgid "File"
|
||||
msgstr "Fichier"
|
||||
|
||||
|
@ -3825,21 +3723,21 @@ msgstr "Change module %s (%s) "
|
|||
msgid "Cmp files:"
|
||||
msgstr "Fichiers Cmp: "
|
||||
|
||||
#: pcbnew/zones_by_polygon.cpp:330
|
||||
#: pcbnew/zones_by_polygon.cpp:386
|
||||
#: pcbnew/zones_by_polygon.cpp:703
|
||||
#: pcbnew/zones_by_polygon.cpp:328
|
||||
#: pcbnew/zones_by_polygon.cpp:384
|
||||
#: pcbnew/zones_by_polygon.cpp:701
|
||||
msgid "Area: DRC outline error"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "No Net"
|
||||
|
||||
|
@ -4283,12 +4181,10 @@ msgid "Sizes and Widths"
|
|||
msgstr "Dims. et Epaiss."
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:41
|
||||
#: pcbnew/menubarpcb.cpp:229
|
||||
msgid "Adjust width for texts and drawings"
|
||||
msgstr "Ajuster dims pour textes et graphiques"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:46
|
||||
#: pcbnew/menubarpcb.cpp:234
|
||||
msgid "Adjust size,shape,layers... for Pads"
|
||||
msgstr "Ajuster taille, forme, couches... pour pads"
|
||||
|
||||
|
@ -4297,52 +4193,42 @@ msgid "User Grid Size"
|
|||
msgstr "Dim Grille utilisteur"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:51
|
||||
#: pcbnew/menubarpcb.cpp:224
|
||||
msgid "Adjust User Grid"
|
||||
msgstr "Ajuster Grille utilisateur"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:64
|
||||
#: pcbnew/menubarpcb.cpp:292
|
||||
msgid "&Contents"
|
||||
msgstr "&Contenu"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:65
|
||||
#: pcbnew/menubarpcb.cpp:292
|
||||
msgid "Open the pcbnew manual"
|
||||
msgstr "Ouvrir la documentation de pcbnew"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:73
|
||||
#: pcbnew/menubarpcb.cpp:296
|
||||
msgid "&About pcbnew"
|
||||
msgstr "&Au sujet de r Pcbnew"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:74
|
||||
#: pcbnew/menubarpcb.cpp:296
|
||||
msgid "About pcbnew PCB designer"
|
||||
msgstr "Au sujet de Pcbnew, concption de PCB"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:82
|
||||
#: pcbnew/menubarpcb.cpp:304
|
||||
msgid "3D Display"
|
||||
msgstr "3D Visu"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:82
|
||||
#: pcbnew/menubarpcb.cpp:304
|
||||
msgid "Show board in 3D viewer"
|
||||
msgstr "Visualisation du circuit en 3D"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:86
|
||||
#: pcbnew/menubarpcb.cpp:310
|
||||
msgid "&Dimensions"
|
||||
msgstr "&Dimensions"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:87
|
||||
#: pcbnew/menubarpcb.cpp:313
|
||||
msgid "&3D Display"
|
||||
msgstr "&3D Visu"
|
||||
|
||||
#: pcbnew/menubarmodedit.cpp:88
|
||||
#: pcbnew/menubarpcb.cpp:314
|
||||
msgid "&Help"
|
||||
msgstr "&Aide"
|
||||
|
||||
|
@ -4638,10 +4524,28 @@ msgstr "&Divers"
|
|||
msgid "P&ostprocess"
|
||||
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
|
||||
msgid "Outlines Appearence"
|
||||
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
|
||||
msgid "H, V and 45 deg"
|
||||
msgstr "H, V et 45 deg"
|
||||
|
@ -4654,6 +4558,23 @@ msgstr "Direction contours zone"
|
|||
msgid "Layer selection:"
|
||||
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
|
||||
msgid "from "
|
||||
msgstr "De "
|
||||
|
@ -4730,6 +4651,90 @@ msgstr "Fichier placement coté cuivre:"
|
|||
msgid "Module count"
|
||||
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
|
||||
msgid "Pad Num :"
|
||||
msgstr "Num Pad :"
|
||||
|
@ -4839,6 +4844,18 @@ msgstr "couche E.C.O.2"
|
|||
msgid "Draft layer"
|
||||
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
|
||||
msgid "Board modified, Save before exit ?"
|
||||
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)"
|
||||
|
||||
#: eeschema/tool_lib.cpp:238
|
||||
#: eeschema/tool_viewlib.cpp:128
|
||||
#, c-format
|
||||
msgid "Part %c"
|
||||
msgstr "Composant %c"
|
||||
|
@ -8312,6 +8328,7 @@ msgid "1:1 zoom"
|
|||
msgstr "1:1 zoom"
|
||||
|
||||
#: cvpcb/genorcad.cpp:134
|
||||
#: cvpcb/writenetlistpcbnew.cpp:168
|
||||
#, c-format
|
||||
msgid "%s %s pin %s : Different Nets"
|
||||
msgstr "%s %s pin %s : Nets Differents"
|
||||
|
@ -8322,6 +8339,7 @@ msgid "Components: %d (free: %d)"
|
|||
msgstr "Composants: %d (libres: %d)"
|
||||
|
||||
#: cvpcb/init.cpp:112
|
||||
#: cvpcb/cvframe.cpp:340
|
||||
#, c-format
|
||||
msgid "Componants: %d (free: %d)"
|
||||
msgstr "Composants: %d (libres: %d)"
|
||||
|
@ -10190,10 +10208,6 @@ msgstr "Dialog"
|
|||
msgid "Tracks and Vias Sizes"
|
||||
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
|
||||
#, c-format
|
||||
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"
|
||||
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
|
||||
msgid "Drill Files Generation"
|
||||
msgstr "Génération Fichiers de Perçagee"
|
||||
|
@ -10606,6 +10624,9 @@ msgstr "Imprimer"
|
|||
msgid "Create SVG file"
|
||||
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"
|
||||
#~ msgstr "Au sujet de cette application"
|
||||
#~ msgid "Place the graphic line or poligon"
|
||||
|
|
|
@ -41,6 +41,8 @@ set(PCBNEW_SRCS
|
|||
cotation.cpp
|
||||
cross-probing.cpp
|
||||
deltrack.cpp
|
||||
dialog_copper_zones.cpp
|
||||
dialog_copper_zones_frame.cpp
|
||||
# dialog_display_options.cpp
|
||||
# dialog_drc.cpp
|
||||
dialog_edit_mod_text.cpp
|
||||
|
@ -57,7 +59,6 @@ set(PCBNEW_SRCS
|
|||
dialog_setup_libs.cpp
|
||||
dialog_orient_footprints.cpp
|
||||
# dialog_track_options.cpp
|
||||
# dialog_zones_by_polygon.cpp
|
||||
dist.cpp
|
||||
dragsegm.cpp
|
||||
drc.cpp
|
||||
|
|
|
@ -332,7 +332,10 @@ int ZONE_CONTAINER::ReadDescr( FILE* aFile, int* aLineNum )
|
|||
}
|
||||
|
||||
if( !IsOnCopperLayer() )
|
||||
{
|
||||
m_GridFillValue = 0;
|
||||
SetNet( 0 );
|
||||
}
|
||||
|
||||
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)\
|
||||
lay2plot.o\
|
||||
dialog_freeroute_exchange.o\
|
||||
dialog_copper_zones_frame.o\
|
||||
dialog_copper_zones.o\
|
||||
dialog_non_copper_zones_properties.o\
|
||||
zones_non_copper_type_functions.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_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)
|
||||
|
|
|
@ -400,6 +400,12 @@ void WinEDA_PcbFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
|||
case TYPEDRAWSEGMENT:
|
||||
break;
|
||||
|
||||
case TYPEZONE_CONTAINER:
|
||||
if( DrawStruct->m_Flags )
|
||||
break;
|
||||
Edit_Zone_Params( &dc, (ZONE_CONTAINER*) DrawStruct );
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -31,7 +31,14 @@ eda_global bool g_Zone_45_Only
|
|||
= FALSE
|
||||
#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_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
|
||||
|
|
|
@ -48,15 +48,13 @@ static void Show_Zone_Corner_Or_Outline_While_Move_Mouse( WinEDA_DrawPanel* pane
|
|||
bool erase );
|
||||
|
||||
/* 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 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 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
|
||||
|
||||
#include "dialog_zones_by_polygon.cpp"
|
||||
#include "dialog_copper_zones.h"
|
||||
|
||||
/**********************************************************************************/
|
||||
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
|
||||
}
|
||||
|
||||
g_HightLigth_NetCode = s_NetcodeSelection = zone_container->GetNet();
|
||||
g_HightLigth_NetCode = g_NetcodeSelection = zone_container->GetNet();
|
||||
if( 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
|
||||
}
|
||||
|
||||
g_HightLigth_NetCode = s_NetcodeSelection = zone_container->GetNet();
|
||||
g_HightLigth_NetCode = g_NetcodeSelection = zone_container->GetNet();
|
||||
Hight_Light( DC );
|
||||
}
|
||||
|
||||
|
@ -518,14 +516,14 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
|||
zone->SetLayer( ( (PCB_SCREEN*) GetScreen() )->m_Active_Layer );
|
||||
if( zone->IsOnCopperLayer() )
|
||||
{ // 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();
|
||||
frame->Destroy();
|
||||
}
|
||||
else // Put a zone on a non copper layer (technical layer)
|
||||
{
|
||||
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->m_IgnoreMouseEvents = FALSE;
|
||||
|
@ -545,14 +543,14 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
|||
/* Show the Net for zones on copper layers */
|
||||
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
|
||||
}
|
||||
|
||||
if( s_CurrentZone )
|
||||
s_NetcodeSelection = s_CurrentZone->GetNet();
|
||||
g_HightLigth_NetCode = s_NetcodeSelection;
|
||||
g_NetcodeSelection = s_CurrentZone->GetNet();
|
||||
g_HightLigth_NetCode = g_NetcodeSelection;
|
||||
Hight_Light( DC );
|
||||
}
|
||||
if( !s_AddCutoutToCurrentZone )
|
||||
|
@ -564,9 +562,9 @@ int WinEDA_PcbFrame::Begin_Zone( wxDC* DC )
|
|||
{
|
||||
zone->m_Flags = IS_NEW;
|
||||
zone->SetLayer( g_CurrentZone_Layer );
|
||||
zone->SetNet( s_NetcodeSelection );
|
||||
zone->SetNet( g_NetcodeSelection );
|
||||
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_GridFillValue = g_GridRoutingSize;
|
||||
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;
|
||||
if( zone_container->GetLayer() < FIRST_NO_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();
|
||||
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->SetNet( s_NetcodeSelection );
|
||||
EQUIPOT* net = m_Pcb->FindNet( s_NetcodeSelection );
|
||||
zone_container->SetNet( g_NetcodeSelection );
|
||||
EQUIPOT* net = m_Pcb->FindNet( g_NetcodeSelection );
|
||||
if( net )
|
||||
zone_container->m_Netname = net->m_Netname;
|
||||
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_GridFillValue = g_GridRoutingSize;
|
||||
|
||||
|
@ -858,13 +856,13 @@ int WinEDA_PcbFrame::Fill_Zone( wxDC* DC, ZONE_CONTAINER* zone_container, bool v
|
|||
}
|
||||
|
||||
/* Show the Net */
|
||||
s_NetcodeSelection = zone_container->GetNet();
|
||||
if( g_HightLigt_Status && (g_HightLigth_NetCode != s_NetcodeSelection) && DC )
|
||||
g_NetcodeSelection = zone_container->GetNet();
|
||||
if( g_HightLigt_Status && (g_HightLigth_NetCode != g_NetcodeSelection) && DC )
|
||||
{
|
||||
Hight_Light( DC ); // Remove old hightlight selection
|
||||
}
|
||||
|
||||
g_HightLigth_NetCode = s_NetcodeSelection;
|
||||
g_HightLigth_NetCode = g_NetcodeSelection;
|
||||
if( 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;
|
||||
if( zone_container->m_GridFillValue == 0 )
|
||||
{
|
||||
zone_container->m_FilledPolysList.clear();
|
||||
zone_container->BuildFilledPolysListData( m_Pcb );
|
||||
if ( DC )
|
||||
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++ )
|
||||
{
|
||||
zone_container = m_Pcb->GetArea( ii );
|
||||
zone_container->m_FilledPolysList.clear();
|
||||
error_level = Fill_Zone( NULL, zone_container, verbose );
|
||||
if( error_level && !verbose )
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue