From 1872a80836ee9d29b564a54d9decd5fd70980377 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Wed, 30 Jun 2010 13:15:34 +0200 Subject: [PATCH] Cleaning code: moved some help strings used both in toolbars and menus in a single file help_common_strings.h, in order to avoid slightly different help strings for the same command, and avoid some not needed translations. --- demos/interf_u/image.emp | 453 ++++++++++++++++++++ demos/interf_u/image.lib | 19 + demos/interf_u/interf_u.brd | 748 ++++++++++++++++++++++++++------- demos/interf_u/interf_u.pro | 31 +- demos/interf_u/interf_u.sch | 194 ++------- demos/interf_u/tux.bmp | Bin 0 -> 185814 bytes eeschema/annotate.cpp | 1 + eeschema/help_common_strings.h | 61 +++ eeschema/menubar.cpp | 55 ++- eeschema/menubar_libedit.cpp | 30 +- eeschema/tool_lib.cpp | 24 +- eeschema/tool_sch.cpp | 52 +-- pcbnew/help_common_strings.h | 24 ++ pcbnew/menubar_pcbframe.cpp | 22 +- pcbnew/tool_pcb.cpp | 21 +- 15 files changed, 1310 insertions(+), 425 deletions(-) create mode 100644 demos/interf_u/image.emp create mode 100644 demos/interf_u/image.lib create mode 100644 demos/interf_u/tux.bmp create mode 100644 eeschema/help_common_strings.h create mode 100644 pcbnew/help_common_strings.h diff --git a/demos/interf_u/image.emp b/demos/interf_u/image.emp new file mode 100644 index 0000000000..76c436679e --- /dev/null +++ b/demos/interf_u/image.emp @@ -0,0 +1,453 @@ +PCBNEW-LibModule-V1 +$INDEX +LOGO +$EndINDEX +# +# LOGO +# pixmap w = 229, h = 270 +# +$MODULE LOGO +Po 0 0 0 15 00000000 00000000 ~~ +T0 0 4800 600 600 0 120 N I 21 "G***" +T1 0 -4800 600 600 0 120 N I 21 "LOGO" +DP 0 0 0 0 5 1 21 +Dl -3783 4516 +Dl -3766 -4466 +Dl 3850 -4483 +Dl -3800 -4500 +Dl -3783 4516 +DP 0 0 0 0 390 1 21 +Dl 1632 4131 +Dl 1638 4131 +Dl 1780 4126 +Dl 1890 4102 +Dl 2002 4043 +Dl 2149 3930 +Dl 2363 3747 +Dl 2609 3558 +Dl 2925 3367 +Dl 2953 3353 +Dl 3208 3199 +Dl 3374 3049 +Dl 3430 2920 +Dl 3427 2889 +Dl 3408 2899 +Dl 3352 2984 +Dl 3273 3033 +Dl 3265 3034 +Dl 3196 3087 +Dl 3127 3137 +Dl 2968 3224 +Dl 2766 3322 +Dl 2565 3409 +Dl 2409 3464 +Dl 2322 3492 +Dl 2250 3532 +Dl 2193 3578 +Dl 2046 3649 +Dl 1874 3708 +Dl 1736 3733 +Dl 1669 3729 +Dl 1582 3691 +Dl 1484 3578 +Dl 1479 3570 +Dl 1408 3458 +Dl 1371 3333 +Dl 1360 3154 +Dl 1369 2883 +Dl 1374 2686 +Dl 1361 2510 +Dl 1318 2351 +Dl 1286 2218 +Dl 1266 2017 +Dl 1257 1890 +Dl 1233 1816 +Dl 1230 1815 +Dl 1208 1871 +Dl 1199 2043 +Dl 1199 2110 +Dl 1190 2365 +Dl 1158 2536 +Dl 1091 2664 +Dl 977 2790 +Dl 920 2843 +Dl 516 3128 +Dl 70 3289 +Dl -404 3323 +Dl -637 3292 +Dl -853 3202 +Dl -1017 3037 +Dl -1126 2886 +Dl -999 2829 +Dl -983 2821 +Dl -843 2712 +Dl -822 2563 +Dl -822 2562 +Dl -856 2472 +Dl -936 2370 +Dl -1082 2234 +Dl -1316 2041 +Dl -1493 1900 +Dl -1665 1757 +Dl -1767 1658 +Dl -1816 1577 +Dl -1831 1491 +Dl -1832 1376 +Dl -1818 1157 +Dl -1783 920 +Dl -1783 919 +Dl -1720 715 +Dl -1617 463 +Dl -1494 206 +Dl -1372 -10 +Dl -1272 -144 +Dl -1237 -179 +Dl -1193 -249 +Dl -1222 -335 +Dl -1248 -399 +Dl -1243 -481 +Dl -1185 -620 +Dl -1093 -804 +Dl -979 -1005 +Dl -973 -1016 +Dl -889 -1183 +Dl -877 -1295 +Dl -885 -1396 +Dl -865 -1410 +Dl -865 -2009 +Dl -930 -2105 +Dl -953 -2213 +Dl -966 -2390 +Dl -966 -2426 +Dl -943 -2572 +Dl -861 -2701 +Dl -786 -2787 +Dl -733 -2833 +Dl -692 -2808 +Dl -592 -2724 +Dl -547 -2679 +Dl -450 -2495 +Dl -476 -2314 +Dl -523 -2224 +Dl -543 -2349 +Dl -559 -2417 +Dl -638 -2554 +Dl -744 -2596 +Dl -848 -2525 +Dl -897 -2373 +Dl -832 -2172 +Dl -798 -2106 +Dl -784 -2031 +Dl -794 -2018 +Dl -865 -2009 +Dl -865 -1410 +Dl -838 -1429 +Dl -731 -1345 +Dl -637 -1263 +Dl -471 -1159 +Dl -412 -1136 +Dl -412 -1333 +Dl -483 -1366 +Dl -484 -1369 +Dl -453 -1399 +Dl -412 -1380 +Dl -412 -1473 +Dl -617 -1494 +Dl -737 -1573 +Dl -743 -1597 +Dl -719 -1723 +Dl -644 -1899 +Dl -626 -1935 +Dl -600 -2011 +Dl -580 -2047 +Dl -496 -2136 +Dl -472 -2157 +Dl -369 -2218 +Dl -221 -2228 +Dl -123 -2221 +Dl -125 -2209 +Dl -133 -2208 +Dl -197 -2165 +Dl -133 -2116 +Dl -123 -2113 +Dl -33 -2118 +Dl -18 -2168 +Dl -24 -2193 +Dl 49 -2183 +Dl 233 -2099 +Dl 245 -2094 +Dl 391 -2027 +Dl 478 -1999 +Dl 495 -1996 +Dl 495 -2037 +Dl 423 -2065 +Dl 467 -2158 +Dl 520 -2276 +Dl 512 -2442 +Dl 434 -2577 +Dl 303 -2633 +Dl 230 -2607 +Dl 138 -2490 +Dl 98 -2320 +Dl 97 -2183 +Dl 31 -2262 +Dl -55 -2423 +Dl -45 -2589 +Dl 74 -2708 +Dl 142 -2741 +Dl 313 -2816 +Dl 412 -2842 +Dl 473 -2829 +Dl 484 -2822 +Dl 533 -2739 +Dl 536 -2719 +Dl 596 -2627 +Dl 644 -2561 +Dl 685 -2383 +Dl 659 -2182 +Dl 614 -2083 +Dl 532 -2040 +Dl 495 -2037 +Dl 495 -1996 +Dl 506 -1993 +Dl 604 -1935 +Dl 656 -1882 +Dl 640 -1827 +Dl 614 -1805 +Dl 569 -1828 +Dl 561 -1839 +Dl 511 -1850 +Dl 413 -1805 +Dl 236 -1690 +Dl 89 -1608 +Dl -108 -1528 +Dl -159 -1513 +Dl -412 -1473 +Dl -412 -1380 +Dl -383 -1366 +Dl -381 -1363 +Dl -412 -1333 +Dl -412 -1136 +Dl -399 -1131 +Dl -220 -1110 +Dl -22 -1170 +Dl 232 -1318 +Dl 324 -1377 +Dl 514 -1477 +Dl 628 -1491 +Dl 684 -1425 +Dl 697 -1388 +Dl 760 -1249 +Dl 850 -1065 +Dl 884 -995 +Dl 985 -757 +Dl 1053 -548 +Dl 1117 -358 +Dl 1203 -199 +Dl 1383 97 +Dl 1511 450 +Dl 1536 567 +Dl 1577 892 +Dl 1589 1224 +Dl 1567 1496 +Dl 1556 1560 +Dl 1545 1685 +Dl 1569 1735 +Dl 1579 1744 +Dl 1583 1813 +Dl 1535 1967 +Dl 1534 1970 +Dl 1486 2117 +Dl 1481 2211 +Dl 1516 2321 +Dl 1522 2335 +Dl 1658 2502 +Dl 1859 2582 +Dl 2077 2554 +Dl 2078 2554 +Dl 2201 2473 +Dl 2339 2346 +Dl 2453 2214 +Dl 2499 2120 +Dl 2526 2030 +Dl 2595 1887 +Dl 2618 1845 +Dl 2736 1510 +Dl 2760 1129 +Dl 2690 686 +Dl 2526 166 +Dl 2419 -91 +Dl 2285 -326 +Dl 2107 -549 +Dl 2084 -575 +Dl 1788 -972 +Dl 1513 -1466 +Dl 1410 -1707 +Dl 1349 -1962 +Dl 1333 -2269 +Dl 1331 -2416 +Dl 1285 -2920 +Dl 1171 -3320 +Dl 982 -3631 +Dl 710 -3865 +Dl 349 -4036 +Dl 179 -4082 +Dl -197 -4100 +Dl -546 -4006 +Dl -639 -3959 +Dl -881 -3774 +Dl -1056 -3508 +Dl -1150 -3316 +Dl -1150 -1281 +Dl -1262 -1095 +Dl -1314 -1016 +Dl -1453 -826 +Dl -1612 -629 +Dl -1622 -616 +Dl -1775 -422 +Dl -1887 -238 +Dl -1983 -19 +Dl -2086 281 +Dl -2109 349 +Dl -2204 591 +Dl -2300 793 +Dl -2310 812 +Dl -2400 976 +Dl -2460 1087 +Dl -2484 1146 +Dl -2519 1309 +Dl -2527 1476 +Dl -2503 1579 +Dl -2486 1643 +Dl -2536 1765 +Dl -2631 1904 +Dl -2761 1977 +Dl -2975 2009 +Dl -2990 2010 +Dl -3154 2034 +Dl -3249 2066 +Dl -3294 2122 +Dl -3338 2308 +Dl -3323 2604 +Dl -3321 2625 +Dl -3304 2811 +Dl -3316 2944 +Dl -3361 3099 +Dl -3407 3256 +Dl -3427 3451 +Dl -3365 3565 +Dl -3216 3619 +Dl -3085 3647 +Dl -2900 3701 +Dl -2717 3757 +Dl -2500 3813 +Dl -2192 3895 +Dl -1716 4063 +Dl -1618 4091 +Dl -1618 3724 +Dl -1877 3667 +Dl -2040 3621 +Dl -2194 3587 +Dl -2223 3583 +Dl -2405 3553 +Dl -2631 3514 +Dl -2857 3472 +Dl -3038 3437 +Dl -3132 3416 +Dl -3176 3385 +Dl -3212 3269 +Dl -3178 3139 +Dl -3169 3121 +Dl -3143 2964 +Dl -3148 2711 +Dl -3185 2390 +Dl -3188 2367 +Dl -3179 2222 +Dl -3088 2153 +Dl -2893 2138 +Dl -2693 2117 +Dl -2509 2005 +Dl -2421 1802 +Dl -2395 1718 +Dl -2299 1601 +Dl -2175 1580 +Dl -2092 1629 +Dl -1936 1793 +Dl -1734 2069 +Dl -1482 2464 +Dl -1128 3045 +Dl -1150 3247 +Dl -1168 3355 +Dl -1249 3572 +Dl -1367 3700 +Dl -1418 3719 +Dl -1618 3724 +Dl -1618 4091 +Dl -1549 4111 +Dl -1325 4130 +Dl -1156 4095 +Dl -1096 4057 +Dl -973 3961 +Dl -901 3905 +Dl -829 3866 +Dl -823 3866 +Dl -748 3819 +Dl -729 3806 +Dl -585 3769 +Dl -337 3745 +Dl -7 3736 +Dl 382 3744 +Dl 652 3757 +Dl 868 3774 +Dl 998 3797 +Dl 1067 3833 +Dl 1100 3885 +Dl 1142 3947 +Dl 1256 4047 +Dl 1334 4094 +Dl 1450 4125 +Dl 1632 4131 +DP 0 0 0 0 5 1 21 +Dl 3387 2800 +Dl 3383 2766 +Dl 3346 2733 +Dl 3350 2766 +Dl 3387 2800 +DP 0 0 0 0 5 1 21 +Dl 3283 2733 +Dl 3300 2716 +Dl 3283 2700 +Dl 3266 2716 +Dl 3283 2733 +DP 0 0 0 0 5 1 21 +Dl 3216 2700 +Dl 3233 2683 +Dl 3216 2666 +Dl 3200 2683 +Dl 3216 2700 +DP 0 0 0 0 9 1 21 +Dl 3129 2633 +Dl 3119 2613 +Dl 3050 2533 +Dl 2990 2474 +Dl 2937 2433 +Dl 2946 2453 +Dl 3016 2533 +Dl 3076 2591 +Dl 3129 2633 +DP 0 0 0 0 5 1 21 +Dl 2920 2400 +Dl 2916 2366 +Dl 2879 2333 +Dl 2883 2366 +Dl 2920 2400 +DP 0 0 0 0 7 1 21 +Dl 2812 2179 +Dl 2823 2175 +Dl 2825 2161 +Dl 2823 2025 +Dl 2814 2012 +Dl 2809 2100 +Dl 2812 2179 +$EndMODULE LOGO +$EndLIBRARY diff --git a/demos/interf_u/image.lib b/demos/interf_u/image.lib new file mode 100644 index 0000000000..b9ae5e423a --- /dev/null +++ b/demos/interf_u/image.lib @@ -0,0 +1,19 @@ +EESchema-LIBRARY Version 2.3 +# +# LOGO +# pixmap size w = 229, h = 270 +# +DEF LOGO G 0 40 Y Y 1 F N +F0 "#G" 0 -420 60 H I C CNN +F1 "LOGO" 0 420 60 H I C CNN +DRAW +P 5 0 0 1 -378 -451 -376 446 385 448 -380 450 -378 -451 F +P 390 0 0 1 163 -413 163 -413 178 -412 189 -410 200 -404 214 -393 236 -374 260 -355 292 -336 295 -335 320 -319 337 -304 343 -292 342 -288 340 -289 335 -298 327 -303 326 -303 319 -308 312 -313 296 -322 276 -332 256 -340 240 -346 232 -349 225 -353 219 -357 204 -364 187 -370 173 -373 166 -372 158 -369 148 -357 147 -357 140 -345 137 -333 136 -315 136 -288 137 -268 136 -251 131 -235 128 -221 126 -201 125 -189 123 -181 123 -181 120 -187 120 -204 119 -211 119 -236 115 -253 109 -266 97 -279 92 -284 51 -312 7 -328 -40 -332 -63 -329 -85 -320 -101 -303 -112 -288 -99 -282 -98 -282 -84 -271 -82 -256 -82 -256 -85 -247 -93 -237 -108 -223 -131 -204 -149 -190 -166 -175 -176 -165 -181 -157 -183 -149 -183 -137 -181 -115 -178 -92 -178 -91 -172 -71 -161 -46 -149 -20 -137 1 -127 14 -123 17 -119 24 -122 33 -124 39 -124 48 -118 62 -109 80 -97 100 -97 101 -88 118 -87 129 -88 139 -86 141 -86 200 -93 210 -95 221 -96 239 -96 242 -94 257 -86 270 -78 278 -73 283 -69 280 -59 272 -54 267 -45 249 -47 231 -52 222 -54 234 -55 241 -63 255 -74 259 -84 252 -89 237 -83 217 -79 210 -78 203 -79 201 -86 200 -86 141 -83 142 -73 134 -63 126 -47 115 -41 113 -41 133 -48 136 -48 136 -45 139 -41 138 -41 147 -61 149 -73 157 -74 159 -71 172 -64 189 -62 193 -60 201 -58 204 -49 213 -47 215 -36 221 -22 222 -12 222 -12 220 -13 220 -19 216 -13 211 -12 211 -3 211 -1 216 -2 219 4 218 23 209 24 209 39 202 47 199 49 199 49 203 42 206 46 215 52 227 51 244 43 257 30 263 23 260 13 249 9 232 9 218 3 226 -5 242 -4 258 7 270 14 274 31 281 41 284 47 282 48 282 53 273 53 271 59 262 64 256 68 238 65 218 61 208 53 204 49 203 49 199 50 199 60 193 65 188 64 182 61 180 56 182 56 183 51 185 41 180 23 169 8 160 -10 152 -15 151 -41 147 -41 138 -38 136 -38 136 -41 133 -41 113 -39 113 -22 111 -2 117 23 131 32 137 51 147 62 149 68 142 69 138 76 124 85 106 88 99 98 75 105 54 111 35 120 19 138 -9 151 -45 153 -56 157 -89 158 -122 156 -149 155 -156 154 -168 156 -173 157 -174 158 -181 153 -196 153 -197 148 -211 148 -221 151 -232 152 -233 165 -250 185 -258 207 -255 207 -255 220 -247 233 -234 245 -221 249 -212 252 -203 259 -188 261 -184 273 -151 276 -112 269 -68 252 -16 241 9 228 32 210 54 208 57 178 97 151 146 141 170 134 196 133 226 133 241 128 292 117 332 98 363 71 386 34 403 17 408 -19 410 -54 400 -63 395 -88 377 -105 350 -114 331 -114 128 -126 109 -131 101 -145 82 -161 62 -162 61 -177 42 -188 23 -198 1 -208 -28 -210 -34 -220 -59 -229 -79 -231 -81 -240 -97 -246 -108 -248 -114 -251 -130 -252 -147 -250 -157 -248 -164 -253 -176 -263 -190 -276 -197 -297 -200 -299 -201 -315 -203 -324 -206 -329 -212 -333 -230 -332 -260 -332 -262 -330 -281 -331 -294 -336 -309 -340 -325 -342 -345 -336 -356 -321 -361 -308 -364 -289 -370 -271 -375 -249 -381 -219 -389 -171 -406 -161 -409 -161 -372 -187 -366 -204 -362 -219 -358 -222 -358 -240 -355 -263 -351 -285 -347 -303 -343 -313 -341 -317 -338 -321 -326 -317 -313 -316 -312 -314 -296 -314 -271 -318 -239 -318 -236 -317 -222 -308 -215 -289 -213 -269 -211 -250 -200 -242 -180 -239 -171 -229 -160 -217 -158 -209 -162 -193 -179 -173 -206 -148 -246 -112 -304 -115 -324 -116 -335 -124 -357 -136 -370 -141 -371 -161 -372 -161 -409 -154 -411 -132 -413 -115 -409 -109 -405 -97 -396 -90 -390 -82 -386 -82 -386 -74 -381 -72 -380 -58 -376 -33 -374 0 -373 38 -374 65 -375 86 -377 99 -379 106 -383 110 -388 114 -394 125 -404 133 -409 145 -412 163 -413 F +P 5 0 0 1 338 -280 338 -276 334 -273 335 -276 338 -280 F +P 5 0 0 1 328 -273 330 -271 328 -270 326 -271 328 -273 F +P 5 0 0 1 321 -270 323 -268 321 -266 320 -268 321 -270 F +P 9 0 0 1 312 -263 311 -261 305 -253 299 -247 293 -243 294 -245 301 -253 307 -259 312 -263 F +P 5 0 0 1 292 -240 291 -236 287 -233 288 -236 292 -240 F +P 7 0 0 1 281 -217 282 -217 282 -216 282 -202 281 -201 280 -210 281 -217 F +ENDDRAW +ENDDEF diff --git a/demos/interf_u/interf_u.brd b/demos/interf_u/interf_u.brd index e916a06f98..f24111452f 100644 --- a/demos/interf_u/interf_u.brd +++ b/demos/interf_u/interf_u.brd @@ -1,6 +1,6 @@ -PCBNEW-BOARD Version 1 date 02/05/2010 21:27:40 +PCBNEW-BOARD Version 1 date 30/06/2010 12:54:50 -# Created by Pcbnew(2010-04-21 BZR 2353)-unstable +# Created by Pcbnew(2010-06-21 BZR 2404)-unstable $GENERAL LayerCount 2 @@ -8,19 +8,19 @@ Ly 1FFF8001 EnabledLayers 1FFF8001 Links 200 NoConn 0 -Di 29439 12974 77910 55660 +Di 29439 12974 77910 78010 Ndraw 24 Ntrack 782 Nzone 0 BoardThickness 630 -Nmodule 24 +Nmodule 25 Nnets 111 $EndGENERAL $SHEETDESCR Sheet A4 11700 8267 Title "Demo" -Date "2 may 2010" +Date "30 jun 2010" Rev "2.C" Comp "Kicad" Comment1 "" @@ -626,6 +626,454 @@ AddNet "N-000126" AddNet "N-000127" AddNet "VCC" $EndNCLASS +$MODULE G*** +Po 66000 72750 0 15 00000000 4C2B2261 ~~ +Li G*** +Sc 4C2B2261 +AR +Op 0 0 0 +T0 0 4800 600 600 0 120 N I 21 N"G***" +T1 0 -4800 600 600 0 120 N I 21 N"LOGO" +DP 0 0 0 0 5 1 21 +Dl -3783 4516 +Dl -3766 -4466 +Dl 3850 -4483 +Dl -3800 -4500 +Dl -3783 4516 +DP 0 0 0 0 390 1 21 +Dl 1632 4131 +Dl 1638 4131 +Dl 1780 4126 +Dl 1890 4102 +Dl 2002 4043 +Dl 2149 3930 +Dl 2363 3747 +Dl 2609 3558 +Dl 2925 3367 +Dl 2953 3353 +Dl 3208 3199 +Dl 3374 3049 +Dl 3430 2920 +Dl 3427 2889 +Dl 3408 2899 +Dl 3352 2984 +Dl 3273 3033 +Dl 3265 3034 +Dl 3196 3087 +Dl 3127 3137 +Dl 2968 3224 +Dl 2766 3322 +Dl 2565 3409 +Dl 2409 3464 +Dl 2322 3492 +Dl 2250 3532 +Dl 2193 3578 +Dl 2046 3649 +Dl 1874 3708 +Dl 1736 3733 +Dl 1669 3729 +Dl 1582 3691 +Dl 1484 3578 +Dl 1479 3570 +Dl 1408 3458 +Dl 1371 3333 +Dl 1360 3154 +Dl 1369 2883 +Dl 1374 2686 +Dl 1361 2510 +Dl 1318 2351 +Dl 1286 2218 +Dl 1266 2017 +Dl 1257 1890 +Dl 1233 1816 +Dl 1230 1815 +Dl 1208 1871 +Dl 1199 2043 +Dl 1199 2110 +Dl 1190 2365 +Dl 1158 2536 +Dl 1091 2664 +Dl 977 2790 +Dl 920 2843 +Dl 516 3128 +Dl 70 3289 +Dl -404 3323 +Dl -637 3292 +Dl -853 3202 +Dl -1017 3037 +Dl -1126 2886 +Dl -999 2829 +Dl -983 2821 +Dl -843 2712 +Dl -822 2563 +Dl -822 2562 +Dl -856 2472 +Dl -936 2370 +Dl -1082 2234 +Dl -1316 2041 +Dl -1493 1900 +Dl -1665 1757 +Dl -1767 1658 +Dl -1816 1577 +Dl -1831 1491 +Dl -1832 1376 +Dl -1818 1157 +Dl -1783 920 +Dl -1783 919 +Dl -1720 715 +Dl -1617 463 +Dl -1494 206 +Dl -1372 -10 +Dl -1272 -144 +Dl -1237 -179 +Dl -1193 -249 +Dl -1222 -335 +Dl -1248 -399 +Dl -1243 -481 +Dl -1185 -620 +Dl -1093 -804 +Dl -979 -1005 +Dl -973 -1016 +Dl -889 -1183 +Dl -877 -1295 +Dl -885 -1396 +Dl -865 -1410 +Dl -865 -2009 +Dl -930 -2105 +Dl -953 -2213 +Dl -966 -2390 +Dl -966 -2426 +Dl -943 -2572 +Dl -861 -2701 +Dl -786 -2787 +Dl -733 -2833 +Dl -692 -2808 +Dl -592 -2724 +Dl -547 -2679 +Dl -450 -2495 +Dl -476 -2314 +Dl -523 -2224 +Dl -543 -2349 +Dl -559 -2417 +Dl -638 -2554 +Dl -744 -2596 +Dl -848 -2525 +Dl -897 -2373 +Dl -832 -2172 +Dl -798 -2106 +Dl -784 -2031 +Dl -794 -2018 +Dl -865 -2009 +Dl -865 -1410 +Dl -838 -1429 +Dl -731 -1345 +Dl -637 -1263 +Dl -471 -1159 +Dl -412 -1136 +Dl -412 -1333 +Dl -483 -1366 +Dl -484 -1369 +Dl -453 -1399 +Dl -412 -1380 +Dl -412 -1473 +Dl -617 -1494 +Dl -737 -1573 +Dl -743 -1597 +Dl -719 -1723 +Dl -644 -1899 +Dl -626 -1935 +Dl -600 -2011 +Dl -580 -2047 +Dl -496 -2136 +Dl -472 -2157 +Dl -369 -2218 +Dl -221 -2228 +Dl -123 -2221 +Dl -125 -2209 +Dl -133 -2208 +Dl -197 -2165 +Dl -133 -2116 +Dl -123 -2113 +Dl -33 -2118 +Dl -18 -2168 +Dl -24 -2193 +Dl 49 -2183 +Dl 233 -2099 +Dl 245 -2094 +Dl 391 -2027 +Dl 478 -1999 +Dl 495 -1996 +Dl 495 -2037 +Dl 423 -2065 +Dl 467 -2158 +Dl 520 -2276 +Dl 512 -2442 +Dl 434 -2577 +Dl 303 -2633 +Dl 230 -2607 +Dl 138 -2490 +Dl 98 -2320 +Dl 97 -2183 +Dl 31 -2262 +Dl -55 -2423 +Dl -45 -2589 +Dl 74 -2708 +Dl 142 -2741 +Dl 313 -2816 +Dl 412 -2842 +Dl 473 -2829 +Dl 484 -2822 +Dl 533 -2739 +Dl 536 -2719 +Dl 596 -2627 +Dl 644 -2561 +Dl 685 -2383 +Dl 659 -2182 +Dl 614 -2083 +Dl 532 -2040 +Dl 495 -2037 +Dl 495 -1996 +Dl 506 -1993 +Dl 604 -1935 +Dl 656 -1882 +Dl 640 -1827 +Dl 614 -1805 +Dl 569 -1828 +Dl 561 -1839 +Dl 511 -1850 +Dl 413 -1805 +Dl 236 -1690 +Dl 89 -1608 +Dl -108 -1528 +Dl -159 -1513 +Dl -412 -1473 +Dl -412 -1380 +Dl -383 -1366 +Dl -381 -1363 +Dl -412 -1333 +Dl -412 -1136 +Dl -399 -1131 +Dl -220 -1110 +Dl -22 -1170 +Dl 232 -1318 +Dl 324 -1377 +Dl 514 -1477 +Dl 628 -1491 +Dl 684 -1425 +Dl 697 -1388 +Dl 760 -1249 +Dl 850 -1065 +Dl 884 -995 +Dl 985 -757 +Dl 1053 -548 +Dl 1117 -358 +Dl 1203 -199 +Dl 1383 97 +Dl 1511 450 +Dl 1536 567 +Dl 1577 892 +Dl 1589 1224 +Dl 1567 1496 +Dl 1556 1560 +Dl 1545 1685 +Dl 1569 1735 +Dl 1579 1744 +Dl 1583 1813 +Dl 1535 1967 +Dl 1534 1970 +Dl 1486 2117 +Dl 1481 2211 +Dl 1516 2321 +Dl 1522 2335 +Dl 1658 2502 +Dl 1859 2582 +Dl 2077 2554 +Dl 2078 2554 +Dl 2201 2473 +Dl 2339 2346 +Dl 2453 2214 +Dl 2499 2120 +Dl 2526 2030 +Dl 2595 1887 +Dl 2618 1845 +Dl 2736 1510 +Dl 2760 1129 +Dl 2690 686 +Dl 2526 166 +Dl 2419 -91 +Dl 2285 -326 +Dl 2107 -549 +Dl 2084 -575 +Dl 1788 -972 +Dl 1513 -1466 +Dl 1410 -1707 +Dl 1349 -1962 +Dl 1333 -2269 +Dl 1331 -2416 +Dl 1285 -2920 +Dl 1171 -3320 +Dl 982 -3631 +Dl 710 -3865 +Dl 349 -4036 +Dl 179 -4082 +Dl -197 -4100 +Dl -546 -4006 +Dl -639 -3959 +Dl -881 -3774 +Dl -1056 -3508 +Dl -1150 -3316 +Dl -1150 -1281 +Dl -1262 -1095 +Dl -1314 -1016 +Dl -1453 -826 +Dl -1612 -629 +Dl -1622 -616 +Dl -1775 -422 +Dl -1887 -238 +Dl -1983 -19 +Dl -2086 281 +Dl -2109 349 +Dl -2204 591 +Dl -2300 793 +Dl -2310 812 +Dl -2400 976 +Dl -2460 1087 +Dl -2484 1146 +Dl -2519 1309 +Dl -2527 1476 +Dl -2503 1579 +Dl -2486 1643 +Dl -2536 1765 +Dl -2631 1904 +Dl -2761 1977 +Dl -2975 2009 +Dl -2990 2010 +Dl -3154 2034 +Dl -3249 2066 +Dl -3294 2122 +Dl -3338 2308 +Dl -3323 2604 +Dl -3321 2625 +Dl -3304 2811 +Dl -3316 2944 +Dl -3361 3099 +Dl -3407 3256 +Dl -3427 3451 +Dl -3365 3565 +Dl -3216 3619 +Dl -3085 3647 +Dl -2900 3701 +Dl -2717 3757 +Dl -2500 3813 +Dl -2192 3895 +Dl -1716 4063 +Dl -1618 4091 +Dl -1618 3724 +Dl -1877 3667 +Dl -2040 3621 +Dl -2194 3587 +Dl -2223 3583 +Dl -2405 3553 +Dl -2631 3514 +Dl -2857 3472 +Dl -3038 3437 +Dl -3132 3416 +Dl -3176 3385 +Dl -3212 3269 +Dl -3178 3139 +Dl -3169 3121 +Dl -3143 2964 +Dl -3148 2711 +Dl -3185 2390 +Dl -3188 2367 +Dl -3179 2222 +Dl -3088 2153 +Dl -2893 2138 +Dl -2693 2117 +Dl -2509 2005 +Dl -2421 1802 +Dl -2395 1718 +Dl -2299 1601 +Dl -2175 1580 +Dl -2092 1629 +Dl -1936 1793 +Dl -1734 2069 +Dl -1482 2464 +Dl -1128 3045 +Dl -1150 3247 +Dl -1168 3355 +Dl -1249 3572 +Dl -1367 3700 +Dl -1418 3719 +Dl -1618 3724 +Dl -1618 4091 +Dl -1549 4111 +Dl -1325 4130 +Dl -1156 4095 +Dl -1096 4057 +Dl -973 3961 +Dl -901 3905 +Dl -829 3866 +Dl -823 3866 +Dl -748 3819 +Dl -729 3806 +Dl -585 3769 +Dl -337 3745 +Dl -7 3736 +Dl 382 3744 +Dl 652 3757 +Dl 868 3774 +Dl 998 3797 +Dl 1067 3833 +Dl 1100 3885 +Dl 1142 3947 +Dl 1256 4047 +Dl 1334 4094 +Dl 1450 4125 +Dl 1632 4131 +DP 0 0 0 0 5 1 21 +Dl 3387 2800 +Dl 3383 2766 +Dl 3346 2733 +Dl 3350 2766 +Dl 3387 2800 +DP 0 0 0 0 5 1 21 +Dl 3283 2733 +Dl 3300 2716 +Dl 3283 2700 +Dl 3266 2716 +Dl 3283 2733 +DP 0 0 0 0 5 1 21 +Dl 3216 2700 +Dl 3233 2683 +Dl 3216 2666 +Dl 3200 2683 +Dl 3216 2700 +DP 0 0 0 0 9 1 21 +Dl 3129 2633 +Dl 3119 2613 +Dl 3050 2533 +Dl 2990 2474 +Dl 2937 2433 +Dl 2946 2453 +Dl 3016 2533 +Dl 3076 2591 +Dl 3129 2633 +DP 0 0 0 0 5 1 21 +Dl 2920 2400 +Dl 2916 2366 +Dl 2879 2333 +Dl 2883 2366 +Dl 2920 2400 +DP 0 0 0 0 7 1 21 +Dl 2812 2179 +Dl 2823 2175 +Dl 2825 2161 +Dl 2823 2025 +Dl 2814 2012 +Dl 2809 2100 +Dl 2812 2179 +$EndMODULE G*** $MODULE PGA120 Po 60500 32000 1800 15 429C886F 322D32FA ~~ Li PGA120 @@ -3985,18 +4433,18 @@ Po 0 29500 13000 32500 16000 50 De 28 0 0 0 0 $EndDRAWSEGMENT $TRACK -Po 0 48500 35500 49000 35000 170 -1 -De 0 0 1 0 800 Po 0 49000 35000 54500 35000 170 -1 De 0 0 1 0 400 +Po 0 48500 35500 49000 35000 170 -1 +De 0 0 1 0 800 +Po 0 70000 37800 69250 37050 170 -1 +De 0 0 2 0 800 Po 0 66500 35000 67250 35000 170 -1 De 0 0 2 0 800 Po 0 69250 37000 69250 37050 170 -1 De 0 0 2 0 0 Po 0 69250 37000 67250 35000 170 -1 De 0 0 2 0 0 -Po 0 70000 37800 69250 37050 170 -1 -De 0 0 2 0 800 Po 0 68500 27500 69550 28550 170 -1 De 0 0 3 0 0 Po 0 71000 28550 71000 28620 170 -1 @@ -4007,20 +4455,20 @@ Po 0 66000 27500 68500 27500 170 -1 De 0 0 3 0 0 Po 0 65500 28000 66000 27500 170 -1 De 0 0 3 0 800 +Po 0 66000 28500 69000 28500 170 -1 +De 0 0 4 0 0 +Po 0 69500 29000 70000 29000 170 -1 +De 0 0 4 0 0 Po 0 69000 28500 69500 29000 170 -1 De 0 0 4 0 0 Po 0 70000 29000 70000 29100 170 -1 De 0 0 4 0 400 Po 0 65500 29000 66000 28500 170 -1 De 0 0 4 0 800 -Po 0 66000 28500 69000 28500 170 -1 -De 0 0 4 0 0 -Po 0 69500 29000 70000 29000 170 -1 -De 0 0 4 0 0 -Po 0 70000 30000 70000 30150 170 -1 -De 0 0 5 0 400 Po 0 66500 30000 70000 30000 170 -1 De 0 0 5 0 800 +Po 0 70000 30000 70000 30150 170 -1 +De 0 0 5 0 400 Po 0 65500 31000 66000 31500 170 -1 De 0 0 6 0 800 Po 0 67800 31300 70000 31300 170 -1 @@ -4045,26 +4493,20 @@ Po 0 70000 33400 70000 33450 170 -1 De 0 0 8 0 400 Po 0 68950 33000 69350 33400 170 -1 De 0 0 8 0 0 +Po 0 66000 33500 68500 33500 170 -1 +De 0 0 9 0 0 Po 0 69500 34500 70000 34500 170 -1 De 0 0 9 0 400 Po 0 68500 33500 69500 34500 170 -1 De 0 0 9 0 0 Po 0 65500 33000 66000 33500 170 -1 De 0 0 9 0 800 -Po 0 66000 33500 68500 33500 170 -1 -De 0 0 9 0 0 Po 0 66500 34000 68500 34000 170 -1 De 0 0 10 0 800 Po 0 68500 34000 70000 35500 170 -1 De 0 0 10 0 0 Po 0 70000 35500 70000 35600 170 -1 De 0 0 10 0 400 -Po 0 64500 33000 65000 32500 170 -1 -De 0 0 11 0 800 -Po 0 69000 32500 69500 33000 170 -1 -De 15 0 11 0 0 -Po 0 68500 32500 69000 32500 170 -1 -De 15 0 11 0 0 Po 0 69500 33000 69500 36000 170 -1 De 15 0 11 0 0 Po 0 69500 36000 70000 36500 170 -1 @@ -4075,6 +4517,12 @@ Po 0 70000 36500 70000 36700 170 -1 De 15 0 11 0 400 Po 0 65000 32500 68500 32500 170 -1 De 0 0 11 0 0 +Po 0 64500 33000 65000 32500 170 -1 +De 0 0 11 0 800 +Po 0 69000 32500 69500 33000 170 -1 +De 15 0 11 0 0 +Po 0 68500 32500 69000 32500 170 -1 +De 15 0 11 0 0 Po 0 66750 35500 70000 38750 170 -1 De 0 0 12 0 0 Po 0 70000 38750 70000 38850 170 -1 @@ -4087,12 +4535,6 @@ Po 0 66250 35500 66750 35500 170 -1 De 0 0 12 0 0 Po 0 65500 34000 66000 34500 170 -1 De 0 0 12 0 800 -Po 0 57000 37500 57000 40000 170 -1 -De 15 0 13 0 0 -Po 0 55125 40500 55000 40625 170 -1 -De 15 0 13 0 0 -Po 0 56500 40500 55125 40500 170 -1 -De 15 0 13 0 0 Po 0 57000 40000 56500 40500 170 -1 De 15 0 13 0 0 Po 0 57500 37000 57000 37500 170 -1 @@ -4101,6 +4543,12 @@ Po 0 57500 36000 57500 37000 170 -1 De 15 0 13 0 C00 Po 0 55000 40625 55000 41000 170 -1 De 15 0 13 0 400 +Po 0 57000 37500 57000 40000 170 -1 +De 15 0 13 0 0 +Po 0 55125 40500 55000 40625 170 -1 +De 15 0 13 0 0 +Po 0 56500 40500 55125 40500 170 -1 +De 15 0 13 0 0 Po 3 63500 22500 63500 22500 450 -1 De 15 1 14 0 0 Po 0 42500 23000 42500 23500 170 -1 @@ -4149,36 +4597,36 @@ Po 0 62500 38000 62500 44500 170 -1 De 15 0 17 0 800 Po 0 62500 44500 62000 45000 170 -1 De 15 0 17 0 0 -Po 0 63000 37500 63000 45500 170 -1 -De 15 0 18 0 400 Po 0 62500 37000 63000 37500 170 -1 De 15 0 18 0 800 -Po 0 63500 37000 64000 37500 170 -1 -De 15 0 19 0 800 +Po 0 63000 37500 63000 45500 170 -1 +De 15 0 18 0 400 Po 0 64000 37500 64000 45500 170 -1 De 15 0 19 0 400 +Po 0 63500 37000 64000 37500 170 -1 +De 15 0 19 0 800 Po 0 64500 38000 64500 43750 170 -1 De 15 0 20 0 800 Po 0 65000 44250 65000 45500 170 -1 De 15 0 20 0 400 Po 0 64500 43750 65000 44250 170 -1 De 15 0 20 0 0 +Po 0 65000 43500 66000 44500 170 -1 +De 15 0 21 0 0 Po 0 66000 44500 66000 45500 170 -1 De 15 0 21 0 400 Po 0 65000 37500 65000 43500 170 -1 De 15 0 21 0 0 Po 0 64500 37000 65000 37500 170 -1 De 15 0 21 0 800 -Po 0 65000 43500 66000 44500 170 -1 -De 15 0 21 0 0 +Po 0 66000 36500 66000 43750 170 -1 +De 15 0 22 0 0 Po 0 66000 43750 67000 44750 170 -1 De 15 0 22 0 0 Po 0 67000 44750 67000 45500 170 -1 De 15 0 22 0 400 Po 0 65500 36000 66000 36500 170 -1 De 15 0 22 0 800 -Po 0 66000 36500 66000 43750 170 -1 -De 15 0 22 0 0 Po 0 57500 48000 58000 48500 170 -1 De 15 0 23 0 400 Po 0 53500 47000 57000 47000 170 -1 @@ -4227,14 +4675,14 @@ Po 0 49000 42000 59000 42000 170 -1 De 0 0 25 0 0 Po 3 49000 42000 49000 42000 450 -1 De 15 1 25 0 0 +Po 0 68900 29000 69550 29650 170 -1 +De 0 0 26 0 0 Po 0 66500 29000 68900 29000 170 -1 De 0 0 26 0 800 Po 0 69550 29650 71000 29650 170 -1 De 0 0 26 0 0 Po 0 71000 29620 71000 29650 170 -1 De 0 0 26 0 800 -Po 0 68900 29000 69550 29650 170 -1 -De 0 0 26 0 0 Po 0 66000 30500 69400 30500 170 -1 De 0 0 27 0 0 Po 0 69600 30700 71000 30700 170 -1 @@ -4245,12 +4693,6 @@ Po 0 65500 30000 66000 30500 170 -1 De 0 0 27 0 800 Po 0 71000 30700 71000 30720 170 -1 De 0 0 27 0 400 -Po 0 55000 35500 55000 31500 170 -1 -De 15 0 28 0 0 -Po 0 57000 25500 56500 25000 170 -1 -De 15 0 28 0 0 -Po 0 56500 37000 56000 36500 170 -1 -De 15 0 28 0 800 Po 0 56500 25000 56500 16000 170 -1 De 15 0 28 0 400 Po 0 56000 35500 55000 35500 170 -1 @@ -4261,16 +4703,16 @@ Po 0 55000 31500 57000 31500 170 -1 De 15 0 28 0 0 Po 0 56000 36500 56000 35500 170 -1 De 15 0 28 0 0 +Po 0 55000 35500 55000 31500 170 -1 +De 15 0 28 0 0 +Po 0 57000 25500 56500 25000 170 -1 +De 15 0 28 0 0 +Po 0 56500 37000 56000 36500 170 -1 +De 15 0 28 0 800 Po 0 66500 31000 67500 30000 170 -1 De 15 0 29 0 800 Po 0 67500 30000 67500 16000 170 -1 De 15 0 29 0 400 -Po 0 64500 22000 43000 22000 170 -1 -De 0 0 30 0 0 -Po 3 43000 22000 43000 22000 450 -1 -De 15 1 30 0 0 -Po 3 64500 22000 64500 22000 450 -1 -De 15 1 30 0 0 Po 0 43500 29500 43500 29000 170 -1 De 15 0 30 0 800 Po 0 43000 22000 43000 28500 170 -1 @@ -4279,6 +4721,12 @@ Po 0 43500 29000 43000 28500 170 -1 De 15 0 30 0 0 Po 0 64500 26000 64500 22000 170 -1 De 15 0 30 0 800 +Po 0 64500 22000 43000 22000 170 -1 +De 0 0 30 0 0 +Po 3 43000 22000 43000 22000 450 -1 +De 15 1 30 0 0 +Po 3 64500 22000 64500 22000 450 -1 +De 15 1 30 0 0 Po 0 42000 28500 42000 26500 170 -1 De 15 0 31 0 0 Po 3 42000 26500 42000 26500 450 -1 @@ -4291,12 +4739,6 @@ Po 0 42500 29000 42000 28500 170 -1 De 15 0 31 0 0 Po 0 55500 27000 55000 26500 170 -1 De 0 0 31 0 800 -Po 0 41500 25000 41500 23500 170 -1 -De 15 0 32 0 400 -Po 0 63000 27500 64000 27500 170 -1 -De 15 0 32 0 0 -Po 3 64000 25000 64000 25000 450 -1 -De 15 1 32 0 0 Po 0 62500 28000 63000 27500 170 -1 De 15 0 32 0 800 Po 0 64000 27500 64000 25000 170 -1 @@ -4305,6 +4747,12 @@ Po 3 41500 25000 41500 25000 450 -1 De 15 1 32 0 0 Po 0 64000 25000 41500 25000 170 -1 De 0 0 32 0 0 +Po 0 41500 25000 41500 23500 170 -1 +De 15 0 32 0 400 +Po 0 63000 27500 64000 27500 170 -1 +De 15 0 32 0 0 +Po 3 64000 25000 64000 25000 450 -1 +De 15 1 32 0 0 Po 3 53000 27000 53000 27000 600 -1 De 15 1 33 0 0 Po 3 39500 26500 39500 26500 450 -1 @@ -4323,14 +4771,14 @@ Po 0 55500 29000 55000 28500 170 -1 De 15 0 33 0 800 Po 0 40000 27000 39500 26500 170 -1 De 0 0 33 0 0 +Po 0 35500 30500 35500 29500 170 -1 +De 0 0 34 0 400 Po 0 56000 31500 36500 31500 170 -1 De 0 0 34 0 0 Po 0 36500 31500 35500 30500 170 -1 De 0 0 34 0 0 Po 0 56500 31000 56000 31500 170 -1 De 0 0 34 0 800 -Po 0 35500 30500 35500 29500 170 -1 -De 0 0 34 0 400 Po 0 36500 27000 36500 26500 170 -1 De 0 0 35 0 0 Po 0 37500 28000 36500 27000 170 -1 @@ -4341,10 +4789,10 @@ Po 0 54500 28000 37500 28000 170 -1 De 0 0 35 0 800 Po 0 36500 26500 36500 23500 170 -1 De 15 0 35 0 400 -Po 0 54500 29000 35000 29000 170 -1 -De 0 0 36 0 800 Po 0 35000 29000 34500 29500 170 -1 De 0 0 36 0 400 +Po 0 54500 29000 35000 29000 170 -1 +De 0 0 36 0 800 Po 3 52500 25500 52500 25500 600 300 De 15 1 37 0 0 Po 0 33750 25500 33500 25250 170 -1 @@ -4359,12 +4807,6 @@ Po 0 52500 25500 33750 25500 170 -1 De 0 0 37 0 0 Po 0 33500 23500 33500 25250 170 -1 De 0 0 37 0 800 -Po 0 62000 18500 62000 27500 170 -1 -De 15 0 38 0 0 -Po 3 33000 18500 33000 18500 450 -1 -De 15 1 38 0 0 -Po 0 33500 29000 33500 29500 170 -1 -De 15 0 38 0 400 Po 0 33000 18500 33000 28500 170 -1 De 15 0 38 0 0 Po 0 62000 18500 33000 18500 170 -1 @@ -4375,6 +4817,12 @@ Po 0 33000 28500 33500 29000 170 -1 De 15 0 38 0 0 Po 3 62000 18500 62000 18500 450 -1 De 15 1 38 0 0 +Po 0 62000 18500 62000 27500 170 -1 +De 15 0 38 0 0 +Po 3 33000 18500 33000 18500 450 -1 +De 15 1 38 0 0 +Po 0 33500 29000 33500 29500 170 -1 +De 15 0 38 0 400 Po 0 42000 30000 41500 29500 170 -1 De 0 0 39 0 400 Po 0 56500 29000 56000 29500 170 -1 @@ -4385,16 +4833,16 @@ Po 0 51000 29500 50500 30000 170 -1 De 0 0 39 0 0 Po 0 56000 29500 51000 29500 170 -1 De 0 0 39 0 0 +Po 0 55000 28500 40000 28500 170 -1 +De 0 0 40 0 0 +Po 0 40500 29000 40000 28500 170 -1 +De 15 0 40 0 0 Po 3 40000 28500 40000 28500 450 -1 De 15 1 40 0 0 Po 0 40500 29500 40500 29000 170 -1 De 15 0 40 0 800 Po 0 55500 28000 55000 28500 170 -1 De 0 0 40 0 800 -Po 0 55000 28500 40000 28500 170 -1 -De 0 0 40 0 0 -Po 0 40500 29000 40000 28500 170 -1 -De 15 0 40 0 0 Po 0 40500 30500 39500 29500 170 -1 De 0 0 41 0 400 Po 0 54500 30000 51500 30000 170 -1 @@ -4403,12 +4851,6 @@ Po 0 51500 30000 51000 30500 170 -1 De 0 0 41 0 0 Po 0 51000 30500 40500 30500 170 -1 De 0 0 41 0 0 -Po 0 67000 27500 66500 28000 170 -1 -De 15 0 42 0 400 -Po 0 67000 24500 67000 27500 170 -1 -De 15 0 42 0 0 -Po 3 38000 24500 38000 24500 450 -1 -De 15 1 42 0 0 Po 3 67000 24500 67000 24500 450 -1 De 15 1 42 0 0 Po 0 38500 29500 38500 29000 170 -1 @@ -4419,6 +4861,12 @@ Po 0 38500 29000 38000 28500 170 -1 De 15 0 42 0 0 Po 0 38000 28500 38000 24500 170 -1 De 15 0 42 0 0 +Po 0 67000 27500 66500 28000 170 -1 +De 15 0 42 0 400 +Po 0 67000 24500 67000 27500 170 -1 +De 15 0 42 0 0 +Po 3 38000 24500 38000 24500 450 -1 +De 15 1 42 0 0 Po 0 55000 30500 52000 30500 170 -1 De 0 0 43 0 0 Po 0 52000 30500 51500 31000 170 -1 @@ -4431,12 +4879,6 @@ Po 0 37500 30000 37500 29500 170 -1 De 0 0 43 0 400 Po 0 55500 31000 55000 30500 170 -1 De 0 0 43 0 800 -Po 0 56500 27000 56000 26500 170 -1 -De 15 0 44 0 800 -Po 0 36000 20500 36000 28500 170 -1 -De 15 0 44 0 0 -Po 0 56000 20500 36000 20500 170 -1 -De 0 0 44 0 0 Po 0 56000 26500 56000 20500 170 -1 De 15 0 44 0 0 Po 3 56000 20500 56000 20500 450 -1 @@ -4447,6 +4889,12 @@ Po 0 36500 29500 36500 29000 170 -1 De 15 0 44 0 800 Po 0 36500 29000 36000 28500 170 -1 De 15 0 44 0 0 +Po 0 56500 27000 56000 26500 170 -1 +De 15 0 44 0 800 +Po 0 36000 20500 36000 28500 170 -1 +De 15 0 44 0 0 +Po 0 56000 20500 36000 20500 170 -1 +De 0 0 44 0 0 Po 0 54500 32000 38000 32000 170 -1 De 0 0 45 0 800 Po 0 37500 28500 37500 23500 170 -1 @@ -4457,22 +4905,22 @@ Po 3 38000 32000 38000 32000 450 -1 De 15 1 45 0 0 Po 0 38000 32000 38000 29000 170 -1 De 15 0 45 0 0 +Po 0 57500 26000 57500 24000 170 -1 +De 15 0 46 0 800 Po 0 39000 24000 38500 23500 170 -1 De 0 0 46 0 400 Po 0 57500 24000 39000 24000 170 -1 De 0 0 46 0 0 Po 3 57500 24000 57500 24000 450 -1 De 15 1 46 0 0 -Po 0 57500 26000 57500 24000 170 -1 -De 15 0 46 0 800 +Po 0 37500 45000 47750 45000 170 -1 +De 0 0 47 0 0 Po 0 48000 44750 48000 44000 170 -1 De 0 0 47 0 400 Po 0 47750 45000 48000 44750 170 -1 De 0 0 47 0 0 Po 0 37000 45500 37500 45000 170 -1 De 0 0 47 0 800 -Po 0 37500 45000 47750 45000 170 -1 -De 0 0 47 0 0 Po 0 44500 29000 44000 28500 170 -1 De 15 0 48 0 0 Po 3 44000 27500 44000 27500 450 -1 @@ -4485,12 +4933,6 @@ Po 0 59500 28000 59000 27500 170 -1 De 0 0 48 0 800 Po 0 44500 29500 44500 29000 170 -1 De 15 0 48 0 800 -Po 0 53500 25500 53000 26000 170 -1 -De 0 0 49 0 0 -Po 0 45000 26000 45000 28500 170 -1 -De 15 0 49 0 0 -Po 0 58500 26000 58000 25500 170 -1 -De 0 0 49 0 800 Po 0 45500 29000 45000 28500 170 -1 De 15 0 49 0 0 Po 3 45000 26000 45000 26000 450 -1 @@ -4501,6 +4943,12 @@ Po 0 58000 25500 53500 25500 170 -1 De 0 0 49 0 0 Po 0 53000 26000 45000 26000 170 -1 De 0 0 49 0 0 +Po 0 53500 25500 53000 26000 170 -1 +De 0 0 49 0 0 +Po 0 45000 26000 45000 28500 170 -1 +De 15 0 49 0 0 +Po 0 58500 26000 58000 25500 170 -1 +De 0 0 49 0 800 Po 3 58000 21000 58000 21000 450 -1 De 15 1 50 0 0 Po 0 59000 26500 59000 22000 170 -1 @@ -4535,16 +4983,16 @@ Po 0 60500 26000 60500 17500 170 -1 De 15 0 52 0 800 Po 0 60500 17500 46500 17500 170 -1 De 0 0 52 0 0 +Po 0 45500 19000 61500 19000 170 -1 +De 0 0 53 0 0 +Po 0 61500 26000 61500 19000 170 -1 +De 15 0 53 0 800 Po 0 45500 23500 45500 19000 170 -1 De 15 0 53 0 800 Po 3 61500 19000 61500 19000 450 -1 De 15 1 53 0 0 Po 3 45500 19000 45500 19000 450 -1 De 15 1 53 0 0 -Po 0 45500 19000 61500 19000 170 -1 -De 0 0 53 0 0 -Po 0 61500 26000 61500 19000 170 -1 -De 15 0 53 0 800 Po 0 44500 21500 62500 21500 170 -1 De 0 0 54 0 0 Po 3 62500 21500 62500 21500 450 -1 @@ -4555,16 +5003,16 @@ Po 3 44500 21500 44500 21500 450 -1 De 15 1 54 0 0 Po 0 44500 23500 44500 21500 170 -1 De 15 0 54 0 800 +Po 3 61000 23000 61000 23000 450 -1 +De 15 1 55 0 0 +Po 0 61000 26500 61000 23000 170 -1 +De 15 0 55 0 0 Po 0 61500 27000 61000 26500 170 -1 De 15 0 55 0 800 Po 0 44000 23000 43500 23500 170 -1 De 0 0 55 0 400 Po 0 61000 23000 44000 23000 170 -1 De 0 0 55 0 0 -Po 3 61000 23000 61000 23000 450 -1 -De 15 1 55 0 0 -Po 0 61000 26500 61000 23000 170 -1 -De 15 0 55 0 0 Po 0 63000 18000 40500 18000 170 -1 De 0 0 56 0 0 Po 3 63000 18000 63000 18000 450 -1 @@ -4937,16 +5385,16 @@ Po 0 65000 49500 63000 51500 170 -1 De 15 0 76 0 0 Po 0 63000 51500 63000 54000 170 -1 De 15 0 76 0 400 +Po 0 64000 54000 64000 52500 170 -1 +De 15 0 77 0 800 +Po 0 65500 52000 66000 51500 170 -1 +De 15 0 77 0 0 Po 0 64500 52000 65500 52000 170 -1 De 15 0 77 0 0 Po 0 66000 51500 66000 48500 170 -1 De 15 0 77 0 400 Po 0 64000 52500 64500 52000 170 -1 De 15 0 77 0 0 -Po 0 64000 54000 64000 52500 170 -1 -De 15 0 77 0 800 -Po 0 65500 52000 66000 51500 170 -1 -De 15 0 77 0 0 Po 0 52000 52000 53000 51000 170 -1 De 15 0 78 0 0 Po 0 52000 54000 52000 52000 170 -1 @@ -4955,18 +5403,18 @@ Po 3 52000 52000 52000 52000 450 -1 De 15 1 78 0 0 Po 0 53000 51000 53000 48500 170 -1 De 15 0 78 0 400 -Po 0 53000 54000 53000 52000 170 -1 -De 0 0 79 0 800 -Po 0 53000 52000 53500 51500 170 -1 -De 15 0 79 0 0 -Po 0 53500 51500 53500 48000 170 -1 -De 15 0 79 0 0 Po 0 53500 48000 52500 48000 170 -1 De 15 0 79 0 0 Po 3 53000 52000 53000 52000 450 -1 De 15 1 79 0 0 Po 0 52500 48000 52000 48500 170 -1 De 15 0 79 0 400 +Po 0 53000 54000 53000 52000 170 -1 +De 0 0 79 0 800 +Po 0 53000 52000 53500 51500 170 -1 +De 15 0 79 0 0 +Po 0 53500 51500 53500 48000 170 -1 +De 15 0 79 0 0 Po 0 57000 41000 57500 40500 170 -1 De 0 0 80 0 800 Po 3 62000 41000 62000 41000 450 -1 @@ -4993,18 +5441,18 @@ Po 0 57500 40500 58500 40500 170 -1 De 0 0 80 0 0 Po 0 58500 40500 59000 41000 170 -1 De 0 0 80 0 0 -Po 0 64000 54000 64000 50000 170 -1 -De 0 0 81 0 800 -Po 0 63500 49500 55500 49500 170 -1 -De 0 0 81 0 0 -Po 0 64000 50000 63500 49500 170 -1 -De 0 0 81 0 0 Po 0 55500 49500 55000 49000 170 -1 De 0 0 81 0 0 Po 0 55000 49000 55000 48500 170 -1 De 0 0 81 0 400 Po 0 55000 48500 54000 48500 170 -1 De 0 0 81 0 C00 +Po 0 64000 54000 64000 50000 170 -1 +De 0 0 81 0 800 +Po 0 63500 49500 55500 49500 170 -1 +De 0 0 81 0 0 +Po 0 64000 50000 63500 49500 170 -1 +De 0 0 81 0 0 Po 0 53125 44500 53000 44375 170 -1 De 0 0 82 0 0 Po 0 53000 44375 53000 44000 170 -1 @@ -5045,52 +5493,52 @@ Po 0 57500 40000 58750 40000 170 -1 De 0 0 84 0 0 Po 0 66000 40125 66000 37125 170 -1 De 0 0 84 0 0 -Po 0 44000 45500 44000 44000 170 -1 -De 15 0 85 0 C00 Po 0 44000 44000 44000 42000 170 -1 De 15 0 85 0 C00 +Po 0 44000 45500 44000 44000 170 -1 +De 15 0 85 0 C00 +Po 0 43000 44000 43500 44500 170 -1 +De 15 0 86 0 800 +Po 0 43000 44000 43000 42000 170 -1 +De 15 0 86 0 C00 Po 0 44000 47000 44000 48500 170 -1 De 15 0 86 0 400 Po 0 43500 44500 43500 46500 170 -1 De 15 0 86 0 0 Po 0 43500 46500 44000 47000 170 -1 De 15 0 86 0 0 -Po 0 43000 44000 43500 44500 170 -1 -De 15 0 86 0 800 -Po 0 43000 44000 43000 42000 170 -1 -De 15 0 86 0 C00 Po 0 38000 42000 38000 44000 170 -1 De 15 0 87 0 C00 Po 0 38000 44000 38000 45500 170 -1 De 15 0 87 0 C00 +Po 0 37500 46500 38000 47000 170 -1 +De 15 0 88 0 0 +Po 0 37000 44000 37000 42000 170 -1 +De 15 0 88 0 C00 Po 0 37000 44000 37500 44500 170 -1 De 15 0 88 0 800 Po 0 38000 47000 38000 48500 170 -1 De 15 0 88 0 400 Po 0 37500 44500 37500 46500 170 -1 De 15 0 88 0 0 -Po 0 37500 46500 38000 47000 170 -1 -De 15 0 88 0 0 -Po 0 37000 44000 37000 42000 170 -1 -De 15 0 88 0 C00 -Po 0 40000 44000 40000 42000 170 -1 -De 15 0 89 0 C00 Po 0 40000 45500 40000 44000 170 -1 De 15 0 89 0 C00 +Po 0 40000 44000 40000 42000 170 -1 +De 15 0 89 0 C00 Po 0 42000 45500 42000 44000 170 -1 De 15 0 90 0 C00 Po 0 42000 44000 42000 42000 170 -1 De 15 0 90 0 C00 +Po 0 40000 47000 40000 48500 170 -1 +De 15 0 91 0 400 +Po 0 39000 44000 39000 42000 170 -1 +De 15 0 91 0 C00 Po 0 39000 44000 39500 44500 170 -1 De 15 0 91 0 800 Po 0 39500 46500 40000 47000 170 -1 De 15 0 91 0 0 Po 0 39500 44500 39500 46500 170 -1 De 15 0 91 0 0 -Po 0 40000 47000 40000 48500 170 -1 -De 15 0 91 0 400 -Po 0 39000 44000 39000 42000 170 -1 -De 15 0 91 0 C00 Po 0 41000 44000 41000 42000 170 -1 De 15 0 92 0 C00 Po 0 42000 47000 42000 48500 170 -1 @@ -5101,14 +5549,14 @@ Po 0 41000 44000 41500 44500 170 -1 De 15 0 92 0 800 Po 0 41500 46500 42000 47000 170 -1 De 15 0 92 0 0 +Po 0 55500 45000 55000 45500 170 -1 +De 15 0 93 0 400 Po 0 56500 45000 55500 45000 170 -1 De 15 0 93 0 0 Po 0 57000 44500 56500 45000 170 -1 De 15 0 93 0 0 Po 0 57000 44000 57000 44500 170 -1 De 15 0 93 0 800 -Po 0 55500 45000 55000 45500 170 -1 -De 15 0 93 0 400 Po 0 55500 36375 55500 36000 170 -1 De 15 0 94 0 400 Po 0 55375 36500 55500 36375 170 -1 @@ -5149,12 +5597,6 @@ Po 0 65500 26000 66000 26500 170 -1 De 0 0 97 0 800 Po 0 66000 26500 68500 26500 170 -1 De 0 0 97 0 0 -Po 0 61500 17000 35500 17000 170 -1 -De 0 0 98 0 0 -Po 3 66500 17500 66500 17500 450 -1 -De 15 1 98 0 0 -Po 0 35500 23500 35500 17000 170 -1 -De 15 0 98 0 800 Po 3 35500 17000 35500 17000 450 -1 De 15 1 98 0 0 Po 0 62000 17500 61500 17000 170 -1 @@ -5163,6 +5605,12 @@ Po 0 66500 26000 66500 17500 170 -1 De 15 0 98 0 800 Po 0 66500 17500 62000 17500 170 -1 De 0 0 98 0 0 +Po 0 61500 17000 35500 17000 170 -1 +De 0 0 98 0 0 +Po 3 66500 17500 66500 17500 450 -1 +De 15 1 98 0 0 +Po 0 35500 23500 35500 17000 170 -1 +De 15 0 98 0 800 Po 0 56000 41375 56125 41500 170 -1 De 0 0 99 0 0 Po 0 58000 41375 58000 41000 170 -1 @@ -5379,18 +5827,18 @@ Po 0 61500 14500 63500 14500 170 -1 De 15 0 100 0 400 Po 0 59500 17000 59500 20000 170 -1 De 15 0 100 0 400 -Po 0 46000 38500 46500 38000 170 -1 -De 0 0 101 0 800 -Po 0 44500 38500 43500 38500 170 -1 -De 0 0 101 0 800 -Po 0 46000 38500 44500 38500 170 -1 -De 0 0 101 0 C00 Po 0 48000 38000 48500 38500 170 -1 De 0 0 101 0 400 Po 0 43500 38500 43000 38000 170 -1 De 0 0 101 0 400 Po 0 46500 38000 48000 38000 170 -1 De 0 0 101 0 0 +Po 0 46000 38500 46500 38000 170 -1 +De 0 0 101 0 800 +Po 0 44500 38500 43500 38500 170 -1 +De 0 0 101 0 800 +Po 0 46000 38500 44500 38500 170 -1 +De 0 0 101 0 C00 Po 0 44500 35500 43500 35500 170 -1 De 0 0 102 0 800 Po 0 51000 36000 54500 36000 170 -1 @@ -5405,10 +5853,10 @@ Po 0 46000 35500 44500 35500 170 -1 De 0 0 102 0 C00 Po 0 46750 36250 50750 36250 170 -1 De 0 0 102 0 0 -Po 0 59500 16000 60500 15000 170 -1 -De 15 0 103 0 800 Po 0 60500 15000 60500 14500 170 -1 De 15 0 103 0 400 +Po 0 59500 16000 60500 15000 170 -1 +De 15 0 103 0 800 Po 0 64500 16000 64500 14500 170 -1 De 15 0 104 0 C00 Po 0 34500 22000 34500 23500 170 -1 @@ -5558,7 +6006,7 @@ ZLayer 0 ZAux 6 E ZClearance 200 T ZMinThickness 100 -ZOptions 0 32 F 200 200 +ZOptions 0 32 S 200 200 ZCorner 74750 51750 0 ZCorner 74750 13250 0 ZCorner 32750 13250 0 diff --git a/demos/interf_u/interf_u.pro b/demos/interf_u/interf_u.pro index 0135362439..d22691c050 100644 --- a/demos/interf_u/interf_u.pro +++ b/demos/interf_u/interf_u.pro @@ -1,8 +1,20 @@ -update=16/05/2010 14:21:37 +update=30/06/2010 12:54:53 version=1 last_client=pcbnew [common] NetDir= +[general] +version=1 +RootSch=interf_u.sch +BoardNm=interf_u.brd +[cvpcb] +version=1 +NetITyp=0 +NetIExt=.net +PkgIExt=.pkg +NetType=0 +[cvpcb/libraries] +EquName1=devcms [eeschema] version=1 LibDir= @@ -33,9 +45,11 @@ offY_E=0 RptD_X=0 RptD_Y=100 RptLab=1 -PenMin=20 SimCmd= UseNetN=0 +LabSize=60 +PrintMonochrome=1 +ShowSheetReferenceAndTitleBlock=1 [eeschema/libraries] LibName1=power LibName2=device @@ -48,18 +62,7 @@ LibName8=adc-dac LibName9=memory LibName10=xilinx LibName11=special -[general] -version=1 -RootSch=interf_u.sch -BoardNm=interf_u.brd -[cvpcb] -version=1 -NetITyp=0 -NetIExt=.net -PkgIExt=.pkg -NetType=0 -[cvpcb/libraries] -EquName1=devcms +LibName12=image [pcbnew] version=1 PadDrlX=430 diff --git a/demos/interf_u/interf_u.sch b/demos/interf_u/interf_u.sch index d4d6dec2cc..3a1a029c06 100644 --- a/demos/interf_u/interf_u.sch +++ b/demos/interf_u/interf_u.sch @@ -1,4 +1,4 @@ -EESchema Schematic File Version 2 date 28/04/2010 09:06:34 +EESchema Schematic File Version 2 date 30/06/2010 12:55:05 LIBS:power LIBS:device LIBS:conn @@ -10,13 +10,14 @@ LIBS:adc-dac LIBS:memory LIBS:xilinx LIBS:special +LIBS:image LIBS:interf_u-cache EELAYER 24 0 EELAYER END $Descr A3 16535 11700 Sheet 1 1 Title "INTERFACE UNIVERSEL" -Date "28 apr 2010" +Date "30 jun 2010" Rev "2B" Comp "KICAD" Comment1 "Comment 1" @@ -24,6 +25,15 @@ Comment2 "Comment 2" Comment3 "Comment 3" Comment4 "Comment 4" $EndDescr +$Comp +L LOGO #G? +U 1 1 4C2B218C +P 11350 10550 +F 0 "#G?" H 11350 10130 60 0001 C CNN +F 1 "LOGO" H 11350 10970 60 0001 C CNN + 1 11350 10550 + 1 0 0 -1 +$EndComp Wire Bus Line 3900 2450 3850 2450 Wire Wire Line @@ -43,21 +53,13 @@ Wire Wire Line Wire Wire Line 3150 2250 3650 2250 Wire Wire Line - 4450 9300 3800 9300 -Wire Wire Line - 3800 9300 3250 9300 -Wire Wire Line - 3250 9300 2600 9300 + 4450 9300 2600 9300 Wire Wire Line 2600 9300 2600 9350 Wire Wire Line 2600 8900 2600 8850 Wire Wire Line - 4450 8900 3800 8900 -Wire Wire Line - 3800 8900 3250 8900 -Wire Wire Line - 3250 8900 2600 8900 + 4450 8900 2600 8900 Connection ~ 3250 8900 Connection ~ 3800 8900 Connection ~ 3800 9300 @@ -187,11 +189,7 @@ Wire Wire Line Wire Wire Line 10050 3300 10100 3300 Wire Wire Line - 10050 3000 10050 3100 -Wire Wire Line - 10050 3100 10050 3200 -Wire Wire Line - 10050 3200 10050 3300 + 10050 3000 10050 3300 Wire Wire Line 10100 3100 10050 3100 Wire Wire Line @@ -199,13 +197,9 @@ Wire Wire Line Connection ~ 10050 3100 Connection ~ 10050 3200 Wire Wire Line - 13550 4400 13550 4150 + 13550 4400 13550 3700 Wire Wire Line - 13550 4150 13550 3700 -Wire Wire Line - 14350 4400 14350 4150 -Wire Wire Line - 14350 4150 14350 3700 + 14350 4400 14350 3700 Connection ~ 13550 4150 Connection ~ 14350 4150 Connection ~ 14350 3700 @@ -224,9 +218,7 @@ Wire Wire Line Wire Wire Line 8450 1850 9000 1850 Wire Wire Line - 8450 1950 8500 1950 -Wire Wire Line - 8500 1950 9000 1950 + 8450 1950 9000 1950 Wire Wire Line 8450 2150 9000 2150 Wire Wire Line @@ -237,9 +229,7 @@ Connection ~ 8500 1950 Wire Wire Line 3950 4000 4500 4000 Wire Wire Line - 4550 2350 4550 2450 -Wire Wire Line - 4550 2450 4550 2550 + 4550 2350 4550 2550 Connection ~ 4550 2450 Wire Wire Line 3950 4100 4500 4100 @@ -459,23 +449,9 @@ Wire Wire Line Wire Wire Line 14700 7500 14750 7500 Wire Wire Line - 14700 7500 14700 7300 + 14700 7500 14700 6100 Wire Wire Line - 14700 7300 14700 7100 -Wire Wire Line - 14700 7100 14700 6900 -Wire Wire Line - 14700 6900 14700 6700 -Wire Wire Line - 14700 6700 14700 6500 -Wire Wire Line - 14700 6500 14700 6300 -Wire Wire Line - 14700 6300 14700 6100 -Wire Wire Line - 14650 6100 14700 6100 -Wire Wire Line - 14700 6100 14750 6100 + 14650 6100 14750 6100 Wire Wire Line 14750 6300 14700 6300 Wire Wire Line @@ -532,21 +508,7 @@ Wire Wire Line Wire Wire Line 1200 6900 1300 6900 Wire Wire Line - 1200 7700 1200 7600 -Wire Wire Line - 1200 7600 1200 7500 -Wire Wire Line - 1200 7500 1200 7400 -Wire Wire Line - 1200 7400 1200 7300 -Wire Wire Line - 1200 7300 1200 7200 -Wire Wire Line - 1200 7200 1200 7100 -Wire Wire Line - 1200 7100 1200 7000 -Wire Wire Line - 1200 7000 1200 6900 + 1200 7700 1200 6900 Wire Wire Line 1300 7000 1200 7000 Wire Wire Line @@ -573,9 +535,7 @@ Wire Wire Line Wire Wire Line 3350 6800 3350 6900 Wire Wire Line - 3350 6800 3150 6800 -Wire Wire Line - 3150 6800 2450 6800 + 3350 6800 2450 6800 Wire Wire Line 2450 6800 2450 6900 Wire Wire Line @@ -583,9 +543,7 @@ Wire Wire Line Wire Wire Line 3150 7950 3150 6800 Wire Wire Line - 3900 7000 2950 7000 -Wire Wire Line - 2950 7000 2600 7000 + 3900 7000 2600 7000 Wire Wire Line 2600 7000 2600 7100 Wire Wire Line @@ -597,9 +555,7 @@ Wire Wire Line Wire Wire Line 3050 6900 2500 6900 Wire Wire Line - 3050 7950 3050 7700 -Wire Wire Line - 3050 7700 3050 6900 + 3050 7950 3050 6900 Wire Wire Line 3900 7600 3400 7600 Wire Wire Line @@ -607,17 +563,13 @@ Wire Wire Line Wire Wire Line 3400 7700 3050 7700 Wire Wire Line - 2100 7300 2750 7300 -Wire Wire Line - 2750 7300 3250 7300 + 2100 7300 3250 7300 Wire Wire Line 3250 7300 3250 7100 Wire Wire Line 3250 7100 3900 7100 Wire Wire Line - 2100 7600 2450 7600 -Wire Wire Line - 2450 7600 3300 7600 + 2100 7600 3300 7600 Wire Wire Line 3300 7600 3300 7300 Wire Wire Line @@ -637,9 +589,7 @@ Wire Wire Line Wire Wire Line 3900 7500 2850 7500 Wire Wire Line - 3900 7400 2650 7400 -Wire Wire Line - 2650 7400 2100 7400 + 3900 7400 2100 7400 Connection ~ 2450 7600 Connection ~ 2550 7500 Connection ~ 2650 7400 @@ -651,13 +601,9 @@ Wire Wire Line Wire Wire Line 2850 7200 2100 7200 Wire Wire Line - 2850 7950 2850 7500 + 2850 7950 2850 7200 Wire Wire Line - 2850 7500 2850 7200 -Wire Wire Line - 2550 7950 2550 7500 -Wire Wire Line - 2550 7500 2550 7150 + 2550 7950 2550 7150 Wire Wire Line 2550 7150 2900 7150 Wire Wire Line @@ -673,85 +619,19 @@ Wire Wire Line Wire Wire Line 14250 4150 14350 4150 Wire Bus Line - 3750 2350 3750 2250 + 3750 2350 3750 1650 Wire Bus Line - 3750 2250 3750 2150 -Wire Bus Line - 3750 2150 3750 2050 -Wire Bus Line - 3750 2050 3750 1950 -Wire Bus Line - 3750 1950 3750 1850 -Wire Bus Line - 3750 1850 3750 1750 -Wire Bus Line - 3750 1750 3750 1650 -Wire Bus Line - 3750 3450 3750 3550 -Wire Bus Line - 3750 3550 3750 3650 -Wire Bus Line - 3750 3650 3750 3750 -Wire Bus Line - 3750 3750 3750 3850 -Wire Bus Line - 3750 3850 3750 3950 -Wire Bus Line - 3750 3950 3750 4050 -Wire Bus Line - 3750 4050 3750 4150 -Wire Bus Line - 3750 4150 3750 4250 -Wire Bus Line - 3750 4250 3750 4350 -Wire Bus Line - 3750 4350 3750 4450 -Wire Bus Line - 3750 4450 3750 4550 -Wire Bus Line - 3750 4550 3750 5350 + 3750 3450 3750 5350 Wire Bus Line 3300 5350 3750 5350 Wire Bus Line - 3300 6650 3300 6550 + 3300 6650 3300 5350 Wire Bus Line - 3300 6550 3300 6450 -Wire Bus Line - 3300 6450 3300 6350 -Wire Bus Line - 3300 6350 3300 6250 -Wire Bus Line - 3300 6250 3300 6150 -Wire Bus Line - 3300 6150 3300 6050 -Wire Bus Line - 3300 6050 3300 5950 -Wire Bus Line - 3300 5950 3300 5350 -Wire Bus Line - 3900 3700 3900 3600 -Wire Bus Line - 3900 3600 3900 3500 -Wire Bus Line - 3900 3500 3900 3400 -Wire Bus Line - 3900 3400 3900 3300 -Wire Bus Line - 3900 3300 3900 3200 -Wire Bus Line - 3900 3200 3900 3100 -Wire Bus Line - 3900 3100 3900 3000 -Wire Bus Line - 3900 3000 3900 2450 + 3900 3700 3900 2450 Wire Wire Line - 13700 3700 13550 3700 + 13700 3700 12300 3700 Wire Wire Line - 13550 3700 12300 3700 -Wire Wire Line - 14200 3700 14350 3700 -Wire Wire Line - 14350 3700 14650 3700 + 14200 3700 14650 3700 Wire Wire Line 15200 3700 15150 3700 Wire Wire Line @@ -1663,6 +1543,8 @@ P 11200 5700 F 0 "U9" H 11200 8450 70 0000 C CNN F 1 "4003APG120" H 11200 2950 70 0000 C CNN F 2 "PGA120" H 11200 2850 60 0000 C CNN +F 4 "50$" H 11200 5700 60 0001 C CNN "price" +F 5 "test" H 11200 5700 60 0001 C CNN "Field5" 1 11200 5700 1 0 0 -1 $EndComp diff --git a/demos/interf_u/tux.bmp b/demos/interf_u/tux.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ec1dbf98a18d77a12649e5ee1011c63c52c5c2a9 GIT binary patch literal 185814 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 L?m%g|15f>bb(kl% literal 0 HcmV?d00001 diff --git a/eeschema/annotate.cpp b/eeschema/annotate.cpp index 5b17f3fb7e..1880d4d876 100644 --- a/eeschema/annotate.cpp +++ b/eeschema/annotate.cpp @@ -340,6 +340,7 @@ void AnnotateComponents( WinEDA_SchematicFrame* parent, /* Final control (just in case ... )*/ parent->CheckAnnotate( NULL, !annotateSchematic ); + parent->OnModify( ); parent->DrawPanel->Refresh( true ); } diff --git a/eeschema/help_common_strings.h b/eeschema/help_common_strings.h new file mode 100644 index 0000000000..5f8fd1fd57 --- /dev/null +++ b/eeschema/help_common_strings.h @@ -0,0 +1,61 @@ +/** + * @file help_common_strings.h + * strings common to toolbars and menubar + */ + +/** + * These strings are used in menus and tools, that do the same command + * But they are internatinalized, and therefore must be created + * at run time, on the fly. + * So they cannot be static. + * + * Therefore they are defined by #define, used inside menu constructors + */ + +// Common to schematic editor and component editor +#define HELP_UNDO _( "Undo last edition" ) +#define HELP_REDO _( "Redo the last undo command" ) + +#define HELP_ZOOM_IN _( "Zoom in" ) +#define HELP_ZOOM_OUT _( "Zoom out" ) +#define HELP_ZOOM_FIT _( "Fit the schematic sheet on the screen" ) +#define HELP_ZOOM_REDRAW _( "Redraw the schematic view" ) + +#define HELP_DELETE_ITEMS _( "Delete items" ) + +// Schematic editor: +#define HELP_FIND _( "Find components and texts" ) + +#define HELP_PLACE_COMPONENTS _( "Place a component" ) +#define HELP_PLACE_POWERPORT _( "Place a power port" ) +#define HELP_PLACE_WIRE _( "Place a wire" ) +#define HELP_PLACE_BUS _( "Place a bus" ) +#define HELP_PLACE_WIRE2BUS_ENTRY _( "Place a wire to bus entry" ) +#define HELP_PLACE_BUS2BUS_ENTRY _( "Place a bus to bus entry" ) +#define HELP_PLACE_NC_FLAG _( "Place a no connect flag" ) + +#define HELP_PLACE_NETLABEL _( "Place a net name (local label)" ) +#define HELP_PLACE_GLOBALLABEL \ + _(\ + "Place a global label.\nWarning: all global labels with the same name are connected in whole hierarchy" ) +#define HELP_PLACE_HIER_LABEL \ + _( "Place a hierarchical label. This label will be seen as a pin sheet in the sheet symbol" ) + +#define HELP_PLACE_JUNCTION _( "Place a junction" ) +#define HELP_PLACE_SHEET _( "Create a hierarchical sheet" ) +#define HELP_IMPORT_PINSHEET _( \ + "Place a pin sheet, imported from the corresponding hierarchical label in sheet" ) +#define HELP_PLACE_PINSHEET _( "Place a hierarchical pin to sheet" ) +#define HELP_PLACE_GRAPHICLINES _( "Place graphic lines or polygons" ) +#define HELP_PLACE_GRAPHICTEXTS _( "Place graphic text (comment)" ) + + +// Component editor: +#define HELP_ADD_PIN _( "Add pins to the component" ) +#define HELP_ADD_BODYTEXT _( "Add graphic texts to the component body" ) +#define HELP_ADD_BODYRECT _( "Add graphic rectangles to the component body" ) +#define HELP_ADD_BODYCIRCLE _( "Add circles to the component body" ) +#define HELP_ADD_BODYARC _( "Add arcs to the component body" ) +#define HELP_ADD_BODYPOLYGON _( "Add lines and polygons to the component body" ) + + diff --git a/eeschema/menubar.cpp b/eeschema/menubar.cpp index 2979e94714..86b84f0b42 100644 --- a/eeschema/menubar.cpp +++ b/eeschema/menubar.cpp @@ -17,6 +17,8 @@ #include "eeschema_id.h" #include "hotkeys.h" +#include "help_common_strings.h" + /** * @brief Create or update the menubar for the schematic frame */ @@ -156,7 +158,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() text = AddHotkeyName( _( "Undo" ), s_Schematic_Hokeys_Descr, HK_UNDO); item = new wxMenuItem( editMenu, wxID_UNDO, text, - _( "Undo last edition" ), wxITEM_NORMAL ); + HELP_UNDO, wxITEM_NORMAL ); item->SetBitmap( undo_xpm ); editMenu->Append( item ); @@ -164,7 +166,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() text = AddHotkeyName( _( "Redo" ), s_Schematic_Hokeys_Descr, HK_REDO); item = new wxMenuItem( editMenu, wxID_REDO, text, - _( "Redo the last undo command" ), wxITEM_NORMAL ); + HELP_REDO, wxITEM_NORMAL ); item->SetBitmap( redo_xpm ); editMenu->Append( item ); @@ -173,7 +175,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Delete */ item = new wxMenuItem( editMenu, ID_SCHEMATIC_DELETE_ITEM_BUTT, - _( "Delete" ), _( "Delete items" ), wxITEM_NORMAL ); + _( "Delete" ), HELP_DELETE_ITEMS, wxITEM_NORMAL ); item->SetBitmap( delete_body_xpm ); editMenu->Append( item ); @@ -183,7 +185,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Find */ text = AddHotkeyName( _( "&Find" ), s_Schematic_Hokeys_Descr, HK_FIND_ITEM ); item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, - _( "Find components and texts" ), wxITEM_NORMAL ); + HELP_FIND, wxITEM_NORMAL ); item->SetBitmap( find_xpm ); editMenu->Append( item ); @@ -217,14 +219,14 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() */ /* Zoom in */ text =_( "Zoom In" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, _( "Zoom In" ), + item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, HELP_ZOOM_IN, wxITEM_NORMAL ); item->SetBitmap( zoom_in_xpm ); viewMenu->Append( item ); /* Zoom out */ text = _( "Zoom Out" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, _( "Zoom Out" ), + item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, HELP_ZOOM_OUT, wxITEM_NORMAL ); item->SetBitmap( zoom_out_xpm ); viewMenu->Append( item ); @@ -234,8 +236,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() HK_ZOOM_AUTO ); item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text, - _( "Fit the schematic sheet on the screen" ), - wxITEM_NORMAL ); + HELP_ZOOM_FIT, wxITEM_NORMAL ); item->SetBitmap( zoom_auto_xpm ); viewMenu->Append( item ); @@ -246,8 +247,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() HK_ZOOM_REDRAW ); item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, - _( "Redraw the schematic view" ), - wxITEM_NORMAL ); + HELP_ZOOM_REDRAW, wxITEM_NORMAL ); item->SetBitmap( zoom_redraw_xpm ); viewMenu->Append( item ); @@ -261,51 +261,51 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Component */ item = new wxMenuItem( placeMenu, ID_COMPONENT_BUTT, _( "&Component" ), - _( "Place the component" ), wxITEM_NORMAL ); + HELP_PLACE_COMPONENTS, wxITEM_NORMAL ); item->SetBitmap( add_component_xpm ); placeMenu->Append( item ); /* Power port */ item = new wxMenuItem( placeMenu, ID_PLACE_POWER_BUTT, _( "&Power port" ), - _( "Place the power port" ), wxITEM_NORMAL ); + HELP_PLACE_POWERPORT, wxITEM_NORMAL ); item->SetBitmap( add_power_xpm ); placeMenu->Append( item ); /* Wire */ item = new wxMenuItem( placeMenu, ID_WIRE_BUTT, _( "&Wire" ), - _( "Place the wire" ), wxITEM_NORMAL ); + HELP_PLACE_WIRE, wxITEM_NORMAL ); item->SetBitmap( add_line_xpm ); placeMenu->Append( item ); /* Bus */ item = new wxMenuItem( placeMenu, ID_BUS_BUTT, _( "&Bus" ), - _( "Place bus" ), wxITEM_NORMAL ); + HELP_PLACE_BUS, wxITEM_NORMAL ); item->SetBitmap( add_bus_xpm ); placeMenu->Append( item ); /* Wire to Bus */ item = new wxMenuItem( placeMenu, ID_WIRETOBUS_ENTRY_BUTT, _( "W&ire to bus entry" ), - _( "Place a wire to bus entry" ), wxITEM_NORMAL ); + HELP_PLACE_WIRE2BUS_ENTRY, wxITEM_NORMAL ); item->SetBitmap( add_line2bus_xpm ); placeMenu->Append( item ); /* Bus to Bus */ item = new wxMenuItem( placeMenu, ID_BUSTOBUS_ENTRY_BUTT, _( "B&us to bus entry" ), - _( "Place a bus to bus entry" ), wxITEM_NORMAL ); + HELP_PLACE_BUS2BUS_ENTRY, wxITEM_NORMAL ); item->SetBitmap( add_bus2bus_xpm ); placeMenu->Append( item ); /* No connect flag */ item = new wxMenuItem( placeMenu, ID_NOCONN_BUTT, _( "No connect flag" ), - _( "Place a no connect flag" ), wxITEM_NORMAL ); + HELP_PLACE_NC_FLAG, wxITEM_NORMAL ); item->SetBitmap( noconn_button ); placeMenu->Append( item ); /* Net name */ item = new wxMenuItem( placeMenu, ID_LABEL_BUTT, _( "Label" ), - _( "Place net name" ), wxITEM_NORMAL ); + HELP_PLACE_NETLABEL, wxITEM_NORMAL ); item->SetBitmap( add_line_label_xpm ); placeMenu->Append( item ); @@ -318,7 +318,7 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Junction */ item = new wxMenuItem( placeMenu, ID_JUNCTION_BUTT, _( "Junction" ), - _( "Place junction" ), wxITEM_NORMAL ); + HELP_PLACE_JUNCTION, wxITEM_NORMAL ); item->SetBitmap( add_junction_xpm ); placeMenu->Append( item ); @@ -328,31 +328,28 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Hierarchical label */ item = new wxMenuItem( placeMenu, ID_HIERLABEL_BUTT, _( "Hierarchical label" ), - _( "Place a hierarchical label. This label will be seen as a pin sheet in the sheet symbol" ), - wxITEM_NORMAL ); + HELP_PLACE_HIER_LABEL, wxITEM_NORMAL ); item->SetBitmap( add_hierarchical_label_xpm ); placeMenu->Append( item ); /* Hierarchical sheet */ item = new wxMenuItem( placeMenu, ID_SHEET_SYMBOL_BUTT, _( "Hierarchical sheet" ), - _( "Create a hierarchical sheet" ), wxITEM_NORMAL ); + HELP_PLACE_SHEET, wxITEM_NORMAL ); item->SetBitmap( add_hierarchical_subsheet_xpm ); placeMenu->Append( item ); /* Import hierarchical sheet */ item = new wxMenuItem( placeMenu, ID_IMPORT_HLABEL_BUTT, _( "Import Hierarchical Label" ), - _( "Place a pin sheet created by importing a hierarchical label from sheet" ), - wxITEM_NORMAL ); + HELP_IMPORT_PINSHEET, wxITEM_NORMAL ); item->SetBitmap( import_hierarchical_label_xpm ); placeMenu->Append( item ); /* Add hierarchical Pin to Sheet */ item = new wxMenuItem( placeMenu, ID_SHEET_LABEL_BUTT, _( "Add Hierarchical Pin to Sheet" ), - _( "Place a hierarchical pin to sheet" ), - wxITEM_NORMAL ); + HELP_PLACE_PINSHEET, wxITEM_NORMAL ); item->SetBitmap( add_hierar_pin_xpm ); placeMenu->Append( item ); @@ -362,16 +359,14 @@ void WinEDA_SchematicFrame::ReCreateMenuBar() /* Graphic line or polygon */ item = new wxMenuItem( placeMenu, ID_LINE_COMMENT_BUTT, _( "Graphic line or polygon" ), - _( "Place graphic lines or polygons" ), - wxITEM_NORMAL ); + HELP_PLACE_GRAPHICLINES, wxITEM_NORMAL ); item->SetBitmap( add_dashed_line_xpm ); placeMenu->Append( item ); /* Graphic text */ item = new wxMenuItem( placeMenu, ID_TEXT_COMMENT_BUTT, _( "Graphic text" ), - _( "Place graphic text for comment" ), - wxITEM_NORMAL ); + HELP_PLACE_GRAPHICTEXTS, wxITEM_NORMAL ); item->SetBitmap( add_text_xpm ); placeMenu->Append( item ); diff --git a/eeschema/menubar_libedit.cpp b/eeschema/menubar_libedit.cpp index e1a8b369cc..ff272f7ff8 100644 --- a/eeschema/menubar_libedit.cpp +++ b/eeschema/menubar_libedit.cpp @@ -14,6 +14,8 @@ #include "eeschema_id.h" #include "hotkeys.h" +#include "help_common_strings.h" + /** * @brief Create or update the menubar for the Component Editor frame */ @@ -92,7 +94,7 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() /* Delete */ item = new wxMenuItem( editMenu, ID_LIBEDIT_DELETE_ITEM_BUTT, - _( "Delete" ), _( "Delete items" ), wxITEM_NORMAL ); + _( "Delete" ), HELP_DELETE_ITEMS, wxITEM_NORMAL ); item->SetBitmap( delete_body_xpm ); editMenu->Append( item ); @@ -114,14 +116,14 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() */ /* Zoom in */ text =_( "Zoom In" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, _( "Zoom In" ), + item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, HELP_ZOOM_IN, wxITEM_NORMAL ); item->SetBitmap( zoom_in_xpm ); viewMenu->Append( item ); /* Zoom out */ text = _( "Zoom Out" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, _( "Zoom Out" ), + item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, HELP_ZOOM_OUT, wxITEM_NORMAL ); item->SetBitmap( zoom_out_xpm ); viewMenu->Append( item ); @@ -131,8 +133,7 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() HK_ZOOM_AUTO ); item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text, - _( "Fit the schematic sheet on the screen" ), - wxITEM_NORMAL ); + HELP_ZOOM_FIT, wxITEM_NORMAL ); item->SetBitmap( zoom_auto_xpm ); viewMenu->Append( item ); @@ -143,8 +144,7 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() HK_ZOOM_REDRAW ); item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, - _( "Redraw the schematic view" ), - wxITEM_NORMAL ); + HELP_ZOOM_REDRAW, wxITEM_NORMAL ); item->SetBitmap( zoom_redraw_xpm ); viewMenu->Append( item ); @@ -156,30 +156,28 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() /* Pin */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_PIN_BUTT, _( "&Pin" ), - _( "Add pins to the component" ), wxITEM_NORMAL ); + HELP_ADD_PIN, wxITEM_NORMAL ); item->SetBitmap( pin_xpm ); placeMenu->Append( item ); /* Graphic text */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_BODY_TEXT_BUTT, _( "Graphic text" ), - _( "Add graphic texts to the component body" ), - wxITEM_NORMAL ); + HELP_ADD_BODYTEXT, wxITEM_NORMAL ); item->SetBitmap( add_text_xpm ); placeMenu->Append( item ); /* Graphic rectangle */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_BODY_RECT_BUTT, _( "Rectangle" ), - _( "Add graphic rectangles to the component body" ), - wxITEM_NORMAL ); + HELP_ADD_BODYRECT, wxITEM_NORMAL ); item->SetBitmap( add_rectangle_xpm ); placeMenu->Append( item ); /* Graphic Circle */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_BODY_CIRCLE_BUTT, _( "Circle" ), - _( "Add circles to the component body" ), + HELP_ADD_BODYCIRCLE, wxITEM_NORMAL ); item->SetBitmap( add_circle_xpm ); placeMenu->Append( item ); @@ -187,16 +185,14 @@ void WinEDA_LibeditFrame::ReCreateMenuBar() /* Graphic Arc */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_BODY_ARC_BUTT, _( "Arc" ), - _( "Add arcs to the component body" ), - wxITEM_NORMAL ); + HELP_ADD_BODYARC, wxITEM_NORMAL ); item->SetBitmap( add_arc_xpm ); placeMenu->Append( item ); /* Graphic line or polygon */ item = new wxMenuItem( placeMenu, ID_LIBEDIT_BODY_LINE_BUTT, _( "Line or Polygon" ), - _( "Add lines and polygons to the component body" ), - wxITEM_NORMAL ); + HELP_ADD_BODYPOLYGON, wxITEM_NORMAL ); item->SetBitmap( add_polygon_xpm ); placeMenu->Append( item ); diff --git a/eeschema/tool_lib.cpp b/eeschema/tool_lib.cpp index 6b62c66d5b..18c95dffde 100644 --- a/eeschema/tool_lib.cpp +++ b/eeschema/tool_lib.cpp @@ -13,6 +13,8 @@ #include "protos.h" #include "libeditframe.h" +#include "help_common_strings.h" + #ifdef __UNIX__ #define LISTBOX_WIDTH 140 #else @@ -40,27 +42,27 @@ void WinEDA_LibeditFrame::ReCreateVToolbar() m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_LIBEDIT_PIN_BUTT, wxEmptyString, wxBitmap( pin_xpm ), - _( "Add pin" ), wxITEM_CHECK ); + HELP_ADD_PIN, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LIBEDIT_BODY_TEXT_BUTT, wxEmptyString, wxBitmap( add_text_xpm ), - _( "Add graphic text" ), wxITEM_CHECK ); + HELP_ADD_BODYTEXT, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LIBEDIT_BODY_RECT_BUTT, wxEmptyString, wxBitmap( add_rectangle_xpm ), - _( "Add rectangle" ), wxITEM_CHECK ); + HELP_ADD_BODYRECT, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LIBEDIT_BODY_CIRCLE_BUTT, wxEmptyString, wxBitmap( add_circle_xpm ), - _( "Add circle" ), wxITEM_CHECK ); + HELP_ADD_BODYCIRCLE, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LIBEDIT_BODY_ARC_BUTT, wxEmptyString, wxBitmap( add_arc_xpm ), - _( "Add arc" ), wxITEM_CHECK ); + HELP_ADD_BODYARC, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LIBEDIT_BODY_LINE_BUTT, wxEmptyString, wxBitmap( add_polygon_xpm ), - _( "Add lines and polygons" ), wxITEM_CHECK ); + HELP_ADD_BODYPOLYGON, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_LIBEDIT_ANCHOR_ITEM_BUTT, wxEmptyString, @@ -79,7 +81,7 @@ void WinEDA_LibeditFrame::ReCreateVToolbar() m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_LIBEDIT_DELETE_ITEM_BUTT, wxEmptyString, wxBitmap( delete_body_xpm ), - _( "Delete items" ), wxITEM_CHECK ); + HELP_DELETE_ITEMS, wxITEM_CHECK ); m_VToolBar->Realize(); } @@ -156,20 +158,20 @@ void WinEDA_LibeditFrame::ReCreateHToolbar() _( "Test for duplicate pins and off grid pins" ) ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Zoom in" ), s_Libedit_Hokeys_Descr, HK_ZOOM_IN, false ); + msg = AddHotkeyName( HELP_ZOOM_IN, s_Libedit_Hokeys_Descr, HK_ZOOM_IN, false ); m_HToolBar->AddTool( ID_ZOOM_IN, wxEmptyString, wxBitmap( zoom_in_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom out" ), s_Libedit_Hokeys_Descr, HK_ZOOM_OUT, false ); + msg = AddHotkeyName( HELP_ZOOM_OUT, s_Libedit_Hokeys_Descr, HK_ZOOM_OUT, false ); m_HToolBar->AddTool( ID_ZOOM_OUT, wxEmptyString, wxBitmap( zoom_out_xpm ), msg ); - msg = AddHotkeyName( _( "Redraw view" ), s_Libedit_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_REDRAW, s_Libedit_Hokeys_Descr, HK_ZOOM_REDRAW, false ); m_HToolBar->AddTool( ID_ZOOM_REDRAW, wxEmptyString, wxBitmap( zoom_redraw_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom auto" ), s_Libedit_Hokeys_Descr, HK_ZOOM_AUTO, false ); + msg = AddHotkeyName( HELP_ZOOM_FIT, s_Libedit_Hokeys_Descr, HK_ZOOM_AUTO, false ); m_HToolBar->AddTool( ID_ZOOM_PAGE, wxEmptyString, wxBitmap( zoom_auto_xpm ), msg ); diff --git a/eeschema/tool_sch.cpp b/eeschema/tool_sch.cpp index eb6b470e86..92c9dac6d8 100644 --- a/eeschema/tool_sch.cpp +++ b/eeschema/tool_sch.cpp @@ -14,6 +14,8 @@ #include "hotkeys.h" #include "eeschema_id.h" +#include "help_common_strings.h" + /* Create the main Horizontal Toolbar for the schematic editor */ @@ -65,12 +67,12 @@ void WinEDA_SchematicFrame::ReCreateHToolbar() _( "Paste" ) ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Undo last edition" ), s_Schematic_Hokeys_Descr, + msg = AddHotkeyName( HELP_UNDO, s_Schematic_Hokeys_Descr, HK_UNDO, false ); m_HToolBar->AddTool( wxID_UNDO, wxEmptyString, wxBitmap( undo_xpm ), msg ); - msg = AddHotkeyName( _( "Redo the last undo command" ), + msg = AddHotkeyName( HELP_REDO, s_Schematic_Hokeys_Descr, HK_REDO, false ); m_HToolBar->AddTool( wxID_REDO, wxEmptyString, wxBitmap( redo_xpm ), msg ); @@ -87,27 +89,27 @@ void WinEDA_SchematicFrame::ReCreateHToolbar() _( "Run pcbnew" ) ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Zoom in" ), s_Schematic_Hokeys_Descr, HK_ZOOM_IN, false ); + msg = AddHotkeyName( HELP_ZOOM_IN, s_Schematic_Hokeys_Descr, HK_ZOOM_IN, false ); m_HToolBar->AddTool( ID_ZOOM_IN, wxEmptyString, wxBitmap( zoom_in_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom out" ), s_Schematic_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_OUT, s_Schematic_Hokeys_Descr, HK_ZOOM_OUT, false ); m_HToolBar->AddTool( ID_ZOOM_OUT, wxEmptyString, wxBitmap( zoom_out_xpm ), msg ); - msg = AddHotkeyName( _( "Redraw view" ), s_Schematic_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_REDRAW, s_Schematic_Hokeys_Descr, HK_ZOOM_REDRAW, false ); m_HToolBar->AddTool( ID_ZOOM_REDRAW, wxEmptyString, wxBitmap( zoom_redraw_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom auto" ), s_Schematic_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_FIT, s_Schematic_Hokeys_Descr, HK_ZOOM_AUTO, false ); m_HToolBar->AddTool( ID_ZOOM_PAGE, wxEmptyString, wxBitmap( zoom_auto_xpm ), msg ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Find components and texts" ), s_Schematic_Hokeys_Descr, + msg = AddHotkeyName( HELP_FIND, s_Schematic_Hokeys_Descr, HK_FIND_ITEM, false ); m_HToolBar->AddTool( ID_FIND_ITEMS, wxEmptyString, wxBitmap( find_xpm ), msg ); @@ -157,79 +159,77 @@ void WinEDA_SchematicFrame::ReCreateVToolbar() m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_COMPONENT_BUTT, wxEmptyString, wxBitmap( add_component_xpm ), - _( "Place a component" ), wxITEM_CHECK ); + HELP_PLACE_COMPONENTS, wxITEM_CHECK ); m_VToolBar->AddTool( ID_PLACE_POWER_BUTT, wxEmptyString, wxBitmap( add_power_xpm ), - _( "Place a power port" ), wxITEM_CHECK ); + HELP_PLACE_POWERPORT, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_WIRE_BUTT, wxEmptyString, wxBitmap( add_line_xpm ), - _( "Place a wire" ), wxITEM_CHECK ); + HELP_PLACE_WIRE, wxITEM_CHECK ); m_VToolBar->AddTool( ID_BUS_BUTT, wxEmptyString, wxBitmap( add_bus_xpm ), - _( "Place a bus" ), wxITEM_CHECK ); + HELP_PLACE_BUS, wxITEM_CHECK ); m_VToolBar->AddTool( ID_WIRETOBUS_ENTRY_BUTT, wxEmptyString, wxBitmap( add_line2bus_xpm ), - _( "Place a wire to bus entry" ), wxITEM_CHECK ); + HELP_PLACE_WIRE2BUS_ENTRY, wxITEM_CHECK ); m_VToolBar->AddTool( ID_BUSTOBUS_ENTRY_BUTT, wxEmptyString, wxBitmap( add_bus2bus_xpm ), - _( "Place a bus to bus entry" ), wxITEM_CHECK ); + HELP_PLACE_BUS2BUS_ENTRY, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_NOCONN_BUTT, wxEmptyString, wxBitmap( noconn_button ), - _( "Place no connect flag" ), wxITEM_CHECK ); + HELP_PLACE_NC_FLAG, wxITEM_CHECK ); m_VToolBar->AddTool( ID_LABEL_BUTT, wxEmptyString, wxBitmap( add_line_label_xpm ), - _( "Place net name" ), wxITEM_CHECK ); + HELP_PLACE_NETLABEL, wxITEM_CHECK ); m_VToolBar->AddTool( ID_GLABEL_BUTT, wxEmptyString, wxBitmap( add_glabel_xpm ), - _( "Place a global label.\nWarning: all global labels with the same name are connected in whole hierarchy" ), + HELP_PLACE_GLOBALLABEL, wxITEM_CHECK ); m_VToolBar->AddTool( ID_JUNCTION_BUTT, wxEmptyString, wxBitmap( add_junction_xpm ), - _( "Place a junction" ), wxITEM_CHECK ); + HELP_PLACE_JUNCTION, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_HIERLABEL_BUTT, wxEmptyString, wxBitmap( add_hierarchical_label_xpm ), - _( "Place a hierarchical label. This label will be seen as a pin sheet in the sheet symbol" ), - wxITEM_CHECK ); + HELP_PLACE_HIER_LABEL, wxITEM_CHECK ); m_VToolBar->AddTool( ID_SHEET_SYMBOL_BUTT, wxEmptyString, wxBitmap( add_hierarchical_subsheet_xpm ), - _( "Place hierarchical sheet" ), wxITEM_CHECK ); + HELP_PLACE_SHEET, wxITEM_CHECK ); m_VToolBar->AddTool( ID_IMPORT_HLABEL_BUTT, wxEmptyString, wxBitmap( import_hierarchical_label_xpm ), - _( "Place a pin sheet, imported from the corresponding hierarchical label in sheet" ), - wxITEM_CHECK ); + HELP_IMPORT_PINSHEET, wxITEM_CHECK ); m_VToolBar->AddTool( ID_SHEET_LABEL_BUTT, wxEmptyString, wxBitmap( add_hierar_pin_xpm ), - _( "Place hierarchical pin to sheet" ), wxITEM_CHECK ); + HELP_PLACE_PINSHEET, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_LINE_COMMENT_BUTT, wxEmptyString, wxBitmap( add_dashed_line_xpm ), - _( "Place graphic line or polygon" ), wxITEM_CHECK ); + HELP_PLACE_GRAPHICLINES, wxITEM_CHECK ); m_VToolBar->AddTool( ID_TEXT_COMMENT_BUTT, wxEmptyString, wxBitmap( add_text_xpm ), - _( "Place graphic text (comment)" ), wxITEM_CHECK ); + HELP_PLACE_GRAPHICTEXTS, wxITEM_CHECK ); m_VToolBar->AddSeparator(); m_VToolBar->AddTool( ID_SCHEMATIC_DELETE_ITEM_BUTT, wxEmptyString, wxBitmap( delete_body_xpm ), - _( "Delete items" ), wxITEM_CHECK ); + HELP_DELETE_ITEMS, wxITEM_CHECK ); m_VToolBar->Realize(); SetToolbars(); diff --git a/pcbnew/help_common_strings.h b/pcbnew/help_common_strings.h new file mode 100644 index 0000000000..ab2bac55dd --- /dev/null +++ b/pcbnew/help_common_strings.h @@ -0,0 +1,24 @@ +/** + * @file help_common_strings.h + * strings common to toolbars and menubar + */ + +/** + * These strings are used in menus and tools, that do the same command + * But they are internatinalized, and therefore must be created + * at run time, on the fly. + * So they cannot be static. + * + * Therefore they are defined by #define, used inside menu constructors + */ + +#define HELP_UNDO _( "Undo last edition" ) +#define HELP_REDO _( "Redo the last undo command" ) +#define HELP_FIND _( "Find components and text in current loaded board" ) + +#define HELP_ZOOM_IN _( "Zoom in" ) +#define HELP_ZOOM_OUT _( "Zoom out" ) +#define HELP_ZOOM_FIT _( "Zoom to fit the board on the screen" ) +#define HELP_ZOOM_REDRAW _( "Redraw the screen of the board" ) + +#define HELP_SHOW_HIDE_LAYERMANAGER _( "Show/hide the layers manager toolbar" ) diff --git a/pcbnew/menubar_pcbframe.cpp b/pcbnew/menubar_pcbframe.cpp index c3ffa88476..7f4ba65d37 100644 --- a/pcbnew/menubar_pcbframe.cpp +++ b/pcbnew/menubar_pcbframe.cpp @@ -12,6 +12,8 @@ #include "hotkeys.h" #include "pcbnew_id.h" +#include "help_common_strings.h" + /** * PCBNew mainframe menubar */ @@ -249,14 +251,14 @@ void WinEDA_PcbFrame::ReCreateMenuBar() /* Undo */ text = AddHotkeyName( _( "Undo" ), s_Pcbnew_Editor_Hokeys_Descr, HK_UNDO ); item = new wxMenuItem( editMenu, wxID_UNDO, text, - _( "Undo last edition" ), wxITEM_NORMAL ); + HELP_UNDO, wxITEM_NORMAL ); item->SetBitmap( undo_xpm ); editMenu->Append( item ); /* Redo */ text = AddHotkeyName( _( "Redo" ), s_Pcbnew_Editor_Hokeys_Descr, HK_REDO ); item = new wxMenuItem( editMenu, wxID_REDO, text, - _( "Redo the last undo command" ), wxITEM_NORMAL ); + HELP_REDO, wxITEM_NORMAL ); item->SetBitmap( redo_xpm ); editMenu->Append( item ); @@ -265,8 +267,7 @@ void WinEDA_PcbFrame::ReCreateMenuBar() /* Find */ text = AddHotkeyName( _( "&Find" ), s_Pcbnew_Editor_Hokeys_Descr, HK_FIND_ITEM ); - item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, - _( "Find components and text in current loaded board" ) ); + item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND ); item->SetBitmap( find_xpm ); editMenu->Append( item ); @@ -313,14 +314,14 @@ void WinEDA_PcbFrame::ReCreateMenuBar() */ /* Zoom in */ text = _( "Zoom In" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, _( "Zoom In" ), + item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, HELP_ZOOM_IN, wxITEM_NORMAL ); item->SetBitmap( zoom_in_xpm ); viewMenu->Append( item ); /* Zoom out */ - text = _( "Zoom out" ); - item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, _( "Zoom Out" ), + text = _( "Zoom Out" ); + item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, HELP_ZOOM_OUT, wxITEM_NORMAL ); item->SetBitmap( zoom_out_xpm ); viewMenu->Append( item ); @@ -330,8 +331,7 @@ void WinEDA_PcbFrame::ReCreateMenuBar() HK_ZOOM_AUTO ); item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text, - _( "Zoom to fit the board on the screen" ), - wxITEM_NORMAL ); + HELP_ZOOM_FIT, wxITEM_NORMAL ); item->SetBitmap( zoom_auto_xpm ); viewMenu->Append( item ); @@ -342,7 +342,7 @@ void WinEDA_PcbFrame::ReCreateMenuBar() HK_ZOOM_REDRAW ); item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, - _( "Redraw the screen of the board" ), + HELP_ZOOM_REDRAW, wxITEM_NORMAL ); item->SetBitmap( zoom_redraw_xpm ); viewMenu->Append( item ); @@ -381,7 +381,7 @@ void WinEDA_PcbFrame::ReCreateMenuBar() */ item = new wxMenuItem( configmenu, ID_MENU_PCB_SHOW_HIDE_LAYERS_MANAGER_DIALOG, _( "Hide &Layers Manager" ), - _( "Show/hide the layers manager toolbar" ) ); + HELP_SHOW_HIDE_LAYERMANAGER ); item->SetBitmap( layers_manager_xpm ); configmenu->Append( item ); diff --git a/pcbnew/tool_pcb.cpp b/pcbnew/tool_pcb.cpp index ec98fb7951..57594ef6e8 100644 --- a/pcbnew/tool_pcb.cpp +++ b/pcbnew/tool_pcb.cpp @@ -25,6 +25,8 @@ #include "hotkeys.h" +#include "help_common_strings.h" + #define SEL_LAYER_HELP _( \ "Show active layer selections\nand select layer pair for route and place via" ) @@ -213,9 +215,9 @@ void WinEDA_PcbFrame::ReCreateHToolbar() m_HToolBar->AddSeparator(); m_HToolBar->AddTool( wxID_UNDO, wxEmptyString, wxBitmap( undo_xpm ), - _( "Undo last edition" ) ); + HELP_UNDO ); m_HToolBar->AddTool( wxID_REDO, wxEmptyString, wxBitmap( redo_xpm ), - _( "Redo the last undo command" ) ); + HELP_REDO ); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( ID_GEN_PRINT, wxEmptyString, wxBitmap( print_button ), @@ -224,28 +226,28 @@ void WinEDA_PcbFrame::ReCreateHToolbar() _( "Plot (HPGL, PostScript, or GERBER format)" ) ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Zoom in" ), s_Board_Editor_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_IN, s_Board_Editor_Hokeys_Descr, HK_ZOOM_IN, false ); m_HToolBar->AddTool( ID_ZOOM_IN, wxEmptyString, wxBitmap( zoom_in_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom out" ), s_Board_Editor_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_OUT, s_Board_Editor_Hokeys_Descr, HK_ZOOM_OUT, false ); m_HToolBar->AddTool( ID_ZOOM_OUT, wxEmptyString, wxBitmap( zoom_out_xpm ), msg ); - msg = AddHotkeyName( _( "Redraw view" ), s_Board_Editor_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_REDRAW, s_Board_Editor_Hokeys_Descr, HK_ZOOM_REDRAW, false ); m_HToolBar->AddTool( ID_ZOOM_REDRAW, wxEmptyString, wxBitmap( zoom_redraw_xpm ), msg ); - msg = AddHotkeyName( _( "Zoom auto" ), s_Board_Editor_Hokeys_Descr, + msg = AddHotkeyName( HELP_ZOOM_FIT, s_Board_Editor_Hokeys_Descr, HK_ZOOM_AUTO, false ); m_HToolBar->AddTool( ID_ZOOM_PAGE, wxEmptyString, wxBitmap( zoom_auto_xpm ), msg ); m_HToolBar->AddSeparator(); - msg = AddHotkeyName( _( "Find components and texts" ), + msg = AddHotkeyName( HELP_FIND, // Find components and texts s_Board_Editor_Hokeys_Descr, HK_FIND_ITEM, false ); m_HToolBar->AddTool( ID_FIND_ITEMS, wxEmptyString, wxBitmap( find_xpm ), @@ -278,7 +280,7 @@ void WinEDA_PcbFrame::ReCreateHToolbar() m_HToolBar->AddSeparator(); m_HToolBar->AddTool( ID_TOOLBARH_PCB_FREEROUTE_ACCESS, wxEmptyString, wxBitmap( web_support_xpm ), - _( "Fast access to theWeb Based FreeROUTE advanced router" ) ); + _( "Fast access to the Web Based FreeROUTE advanced router" ) ); // after adding the buttons to the toolbar, must call Realize() to reflect // the changes @@ -373,8 +375,7 @@ void WinEDA_PcbFrame::ReCreateOptToolbar() m_OptionsToolBar->AddTool( ID_TB_OPTIONS_SHOW_MANAGE_LAYERS_VERTICAL_TOOLBAR, wxEmptyString, wxBitmap( layers_manager_xpm ), - _( - "Show/hide the layers manager toolbar" ), + HELP_SHOW_HIDE_LAYERMANAGER, wxITEM_CHECK ); m_OptionsToolBar->AddTool( ID_TB_OPTIONS_SHOW_EXTRA_VERTICAL_TOOLBAR1, wxEmptyString,