From c19e3785675fbd4a26e8fac17cc65168b06b679a Mon Sep 17 00:00:00 2001 From: CHARRAS Date: Mon, 30 Jul 2007 11:15:54 +0000 Subject: [PATCH] Add some missing files and better DRC test --- change_log.txt | 9 + include/build_version.h | 2 +- include/macros.h | 4 + include/wxstruct.h | 4 +- internat/fr/kicad.mo | Bin 128968 -> 129683 bytes internat/fr/kicad.po | 178 ++- pcbnew/class_pad.cpp | 11 +- pcbnew/class_pad.h | 2 +- pcbnew/dialog_display_options.pjd | 1136 +++++++++++++++ pcbnew/dialog_drc.cpp | 111 +- pcbnew/dialog_drc.h | 20 +- pcbnew/dialog_edit_mod_text.pjd | 1488 +++++++++++++++++++ pcbnew/dialog_general_options.pjd | 1483 +++++++++++++++++++ pcbnew/dialog_graphic_items_options.pjd | 1673 +++++++++++++++++++++ pcbnew/dialog_initpcb.pjd | 1019 +++++++++++++ pcbnew/dialog_netlist.pjd | 940 ++++++++++++ pcbnew/dialog_pad_edit.pjd | 1777 +++++++++++++++++++++++ pcbnew/dialog_setup_libs.pjd | 1123 ++++++++++++++ pcbnew/dialog_track_options.pjd | 1361 +++++++++++++++++ pcbnew/drc.cpp | 377 +++-- pcbnew/drc_dialog.pjd | 1298 +++++++++++++++++ pcbnew/find.pjd | 676 +++++++++ pcbnew/initpcb.cpp | 12 +- pcbnew/router.cpp | 1 + pcbnew/set_grid.pjd | 813 +++++++++++ pcbnew/zones.pjd | 893 ++++++++++++ 26 files changed, 16194 insertions(+), 217 deletions(-) create mode 100644 pcbnew/dialog_display_options.pjd create mode 100644 pcbnew/dialog_edit_mod_text.pjd create mode 100644 pcbnew/dialog_general_options.pjd create mode 100644 pcbnew/dialog_graphic_items_options.pjd create mode 100644 pcbnew/dialog_initpcb.pjd create mode 100644 pcbnew/dialog_netlist.pjd create mode 100644 pcbnew/dialog_pad_edit.pjd create mode 100644 pcbnew/dialog_setup_libs.pjd create mode 100644 pcbnew/dialog_track_options.pjd create mode 100644 pcbnew/drc_dialog.pjd create mode 100644 pcbnew/find.pjd create mode 100644 pcbnew/set_grid.pjd create mode 100644 pcbnew/zones.pjd diff --git a/change_log.txt b/change_log.txt index e8894f513b..d7855f8faf 100644 --- a/change_log.txt +++ b/change_log.txt @@ -4,6 +4,15 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. +2007-Jul-30 UPDATE Jean-Pierre Charras +================================================================================ ++ pcbnew + Some file are added (missing .prj files) + Better Drc test: + Zones can be tested. + better pad to pad test. + + 2007-Jul-25 UPDATE Jean-Pierre Charras ================================================================================ ** Some minor enhancements diff --git a/include/build_version.h b/include/build_version.h index 33d0a00ea6..84a2fec3e0 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -5,7 +5,7 @@ COMMON_GLOBL wxString g_BuildVersion #ifdef EDA_BASE - (wxT("(2007-07-24)")) + (wxT("(2007-07-30)")) #endif ; diff --git a/include/macros.h b/include/macros.h index 4b16a094db..5932be2def 100644 --- a/include/macros.h +++ b/include/macros.h @@ -41,6 +41,10 @@ #define NEGATE_AND_NORMALIZE_ANGLE_POS(Angle) \ { Angle = - Angle; while (Angle < 0) Angle += 3600; while (Angle >= 3600) Angle -= 3600; } +/* Normalize angle to be in the -90.0 .. 90.0 range */ +#define NORMALIZE_ANGLE_90(Angle) { while (Angle < -900) Angle += 1800; \ + while (Angle > 900) Angle -= 1800; } + /* exchange 2 donnees */ #define EXCHG(a,b) { typeof(a) __temp__ = (a); (a) = (b); (b) = __temp__; } diff --git a/include/wxstruct.h b/include/wxstruct.h index 66a10012e3..0b0fd0cf82 100644 --- a/include/wxstruct.h +++ b/include/wxstruct.h @@ -565,7 +565,7 @@ public: MODULE * ListAndSelectModuleName(void); void Liste_Equipot(wxCommandEvent & event); void Swap_Layers(wxCommandEvent & event); - int Test_DRC(wxDC * DC); + int Test_DRC(wxDC * DC, bool TestPad2Pad, bool TestZone); void Install_Test_DRC_Frame(wxDC * DC); void Trace_Pcb(wxDC * DC, int mode); void Trace_PcbEdges(wxDC * DC, int mode_color); @@ -595,7 +595,7 @@ public: void Erase_Pistes(wxDC * DC, int masque_type, bool query); void Erase_Modules(wxDC * DC, bool query); void Erase_Textes_Pcb(wxDC * DC, bool query); - void Erase_Marqueurs(wxDC * DC, bool query); + void Erase_Marqueurs(void); void UnDeleteItem(wxDC * DC); void RemoveStruct(EDA_BaseStruct * Item, wxDC * DC); void Via_Edit_Control(wxDC * DC, int command_type, SEGVIA * via); diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index c55b68ddfe6789243e5176ac2dd7eb891229f928..62921b6479f43be0e7e87af5ee61a7c46863f603 100644 GIT binary patch delta 47700 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
p=m6?ey<heHuXl!WGkLU2Y3M;a0PnU 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 HHn#m2yfAxL diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 8057a44c63..0a0d71a976 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2007-07-25 10:24+0100\n" +"PO-Revision-Date: 2007-07-30 14:17+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -1493,7 +1493,7 @@ msgid "Compile" msgstr "Compile" #: pcbnew/dialog_netlist.cpp:178 -#: pcbnew/dialog_drc.cpp:164 +#: pcbnew/dialog_drc.cpp:193 #: pcbnew/gendrill.cpp:254 #: eeschema/plotps.cpp:207 #: eeschema/netlist_control.cpp:124 @@ -1602,75 +1602,89 @@ msgstr "Inclure pistes autorout msgid "Include Locked Tracks" msgstr "Inclure pistes verrouillées" -#: pcbnew/drc.cpp:65 +#: pcbnew/drc.cpp:71 msgid "Look for active routes\n" msgstr "Recherche des chevelus actifs\n" -#: pcbnew/drc.cpp:71 +#: pcbnew/drc.cpp:77 msgid "Unconnected found:\n" msgstr "Non connecté trouvé:\n" -#: pcbnew/drc.cpp:76 +#: pcbnew/drc.cpp:82 #, c-format msgid "%d > Pad %s (%s) @ %.4f,%.4f and " msgstr "%d > Pad %s (%s) @ %.4f,%.4f et " -#: pcbnew/drc.cpp:84 +#: pcbnew/drc.cpp:90 #, c-format msgid "Pad %s (%s) @ %.4f,%.4f\n" msgstr "Pad %s (%s) @ %.4f,%.4f\n" -#: pcbnew/drc.cpp:89 +#: pcbnew/drc.cpp:95 #, c-format msgid "Active routes: %d\n" msgstr "Active routes: %d\n" -#: pcbnew/drc.cpp:90 +#: pcbnew/drc.cpp:96 msgid "OK! (No active routes)\n" msgstr "OK! (Pas de chevelu actif)\n" -#: pcbnew/drc.cpp:112 +#: pcbnew/drc.cpp:122 #, c-format msgid "** End Drc: %d errors **\n" msgstr "** FinDrc: %d erreurs **\n" -#: pcbnew/drc.cpp:114 +#: pcbnew/drc.cpp:124 msgid "** End Drc: No Error **\n" msgstr "** Fin Drc: Aucune Erreur **\n" -#: pcbnew/drc.cpp:229 +#: pcbnew/drc.cpp:198 +msgid "Tst Pad to Pad\n" +msgstr "Tst Pad to Pad\n" + +#: pcbnew/drc.cpp:237 +#: pcbnew/drc.cpp:301 msgid "SegmNb" msgstr "SegmNb" -#: pcbnew/drc.cpp:230 +#: pcbnew/drc.cpp:238 msgid "Track Err" msgstr "Err Pistes" -#: pcbnew/drc.cpp:233 +#: pcbnew/drc.cpp:241 msgid "Tst Tracks\n" msgstr "Tst Pistes\n" -#: pcbnew/drc.cpp:252 +#: pcbnew/drc.cpp:265 +#: pcbnew/drc.cpp:330 #: eeschema/eelayer.cpp:141 msgid "Netname" msgstr "NetName" -#: pcbnew/drc.cpp:950 +#: pcbnew/drc.cpp:302 +msgid "Zone Err" +msgstr "Err. Zone" + +#: pcbnew/drc.cpp:304 +msgid "Tst Zones\n" +msgstr "Test Zones\n" + +#: pcbnew/drc.cpp:1119 #, c-format msgid "%d Drc Err %d PAD %s (%s) @ %d,%d\n" msgstr "%d Err Drc %d PAD %s (%s) @ %d,%d\n" -#: pcbnew/drc.cpp:961 +#: pcbnew/drc.cpp:1130 #, c-format msgid "%d Err type %d: sur VIA @ %d,%d\n" msgstr "%d Err type %d: sur VIA @ %d,%d\n" -#: pcbnew/drc.cpp:972 +#: pcbnew/drc.cpp:1141 #, c-format msgid "%d Err type %d: sur SEGMENT @ %d,%d\n" msgstr "%d Err type %d: sur SEGMENT @ %d,%d\n" -#: pcbnew/drc.cpp:1007 +#: pcbnew/drc.cpp:1176 #, c-format msgid "%d Drc Err: PAD %s (%s) @ %d,%d and PAD %s (%s) @ %d,%d\n" msgstr "%d Err Drc: PAD %s (%s) @ %d,%d et PAD %s (%s) @ %d,%d\n" @@ -1857,11 +1871,11 @@ msgstr "Effacement contour" msgid "Set Width" msgstr "Ajuste Epaiss" -#: pcbnew/class_pad.cpp:629 +#: pcbnew/class_pad.cpp:630 msgid "Unknown Pad shape" msgstr "Forme pad inconnue" -#: pcbnew/class_pad.cpp:697 +#: pcbnew/class_pad.cpp:698 #: pcbnew/affiche.cpp:76 #: pcbnew/affiche.cpp:266 #: pcbnew/class_module.cpp:1060 @@ -1869,15 +1883,15 @@ msgstr "Forme pad inconnue" msgid "Module" msgstr "Module" -#: pcbnew/class_pad.cpp:700 +#: pcbnew/class_pad.cpp:701 msgid "RefP" msgstr "RefP" -#: pcbnew/class_pad.cpp:703 +#: pcbnew/class_pad.cpp:704 msgid "Net" msgstr "Net" -#: pcbnew/class_pad.cpp:769 +#: pcbnew/class_pad.cpp:770 #: pcbnew/affiche.cpp:36 #: pcbnew/affiche.cpp:91 #: pcbnew/affiche.cpp:95 @@ -1890,21 +1904,21 @@ msgstr "Net" msgid "Layer" msgstr "Couche" -#: pcbnew/class_pad.cpp:781 +#: pcbnew/class_pad.cpp:782 #: pcbnew/affiche.cpp:53 #: pcbnew/affiche.cpp:109 #: gerbview/affiche.cpp:49 msgid "H Size" msgstr "Taille H" -#: pcbnew/class_pad.cpp:785 +#: pcbnew/class_pad.cpp:786 #: pcbnew/affiche.cpp:56 #: pcbnew/affiche.cpp:112 #: gerbview/affiche.cpp:52 msgid "V Size" msgstr "Taille V" -#: pcbnew/class_pad.cpp:791 +#: pcbnew/class_pad.cpp:792 #: pcbnew/affiche.cpp:208 #: pcbnew/affiche.cpp:210 #: pcbnew/gendrill.cpp:398 @@ -1912,11 +1926,11 @@ msgstr "Taille V" msgid "Drill" msgstr "Perçage" -#: pcbnew/class_pad.cpp:799 +#: pcbnew/class_pad.cpp:800 msgid "Drill X / Y" msgstr "Perçage X/Y" -#: pcbnew/class_pad.cpp:810 +#: pcbnew/class_pad.cpp:811 #: pcbnew/affiche.cpp:47 #: pcbnew/affiche.cpp:103 #: pcbnew/class_module.cpp:1057 @@ -1926,11 +1940,11 @@ msgstr "Per msgid "Orient" msgstr "Orient" -#: pcbnew/class_pad.cpp:814 +#: pcbnew/class_pad.cpp:815 msgid "X Pos" msgstr "X Pos" -#: pcbnew/class_pad.cpp:818 +#: pcbnew/class_pad.cpp:819 msgid "Y pos" msgstr "Y pos" @@ -2002,7 +2016,7 @@ msgid "Track Width" msgstr "Epais. Piste" #: pcbnew/dialog_track_options.cpp:164 -#: pcbnew/dialog_drc.cpp:133 +#: pcbnew/dialog_drc.cpp:141 msgid "Clearance" msgstr "Isolation" @@ -2538,23 +2552,53 @@ msgstr "Effacer" msgid "Pcb Text" msgstr "Texte Pcb" -#: pcbnew/dialog_drc.cpp:145 +#: pcbnew/dialog_drc.cpp:137 +#: eeschema/fieldedi.cpp:223 +#: eeschema/dialog_erc.cpp:237 +#: eeschema/dialog_edit_component_in_lib.cpp:166 +#: eeschema/dialog_create_component.cpp:176 +#: eeschema/libedpart.cpp:241 +#: eeschema/dialog_edit_component_in_schematic.cpp:204 +#: eeschema/editpart.cpp:204 +#: eeschema/dialog_build_BOM.cpp:279 +#: cvpcb/dialog_display_options.h:43 +msgid "Options" +msgstr "Options" + +#: pcbnew/dialog_drc.cpp:149 +msgid "Test Drc:" +msgstr "Test Drc:" + +#: pcbnew/dialog_drc.cpp:153 +msgid "Include pad to pad test" +msgstr "Inclure test pad à pad" + +#: pcbnew/dialog_drc.cpp:157 +msgid "Include unconnected" +msgstr "Inclure non connexions" + +#: pcbnew/dialog_drc.cpp:161 +#: pcbnew/block.cpp:136 +msgid "Include zones" +msgstr "Inclure zones" + +#: pcbnew/dialog_drc.cpp:174 msgid "Test Drc" msgstr "Test Drc" -#: pcbnew/dialog_drc.cpp:149 +#: pcbnew/dialog_drc.cpp:178 msgid "Stop Drc" msgstr "Stop Drc" -#: pcbnew/dialog_drc.cpp:156 +#: pcbnew/dialog_drc.cpp:185 msgid "Del Markers" msgstr "Supprimer Marqueurs" -#: pcbnew/dialog_drc.cpp:160 +#: pcbnew/dialog_drc.cpp:189 msgid "List Unconn" msgstr "Liste Non Conn." -#: pcbnew/dialog_drc.cpp:167 +#: pcbnew/dialog_drc.cpp:196 #: common/svg_print.cpp:232 #: share/svg_print.cpp:232 msgid "Messages:" @@ -2568,10 +2612,6 @@ msgstr "Inclure Modules" msgid "Include tracks" msgstr "Inclure Pistes" -#: pcbnew/block.cpp:136 -msgid "Include zones" -msgstr "Inclure zones" - #: pcbnew/block.cpp:141 msgid "Include Text on copper layers" msgstr "Inclure Texte sur couches cuivre" @@ -2692,7 +2732,7 @@ msgstr "Pads: Edition globale" #: pcbnew/menubarpcb.cpp:205 #: pcbnew/menubarmodedit.cpp:45 #: pcbnew/tool_modedit.cpp:125 -#: pcbnew/modedit.cpp:365 +#: pcbnew/modedit.cpp:299 msgid "Pad Settings" msgstr "Caract pads" @@ -2804,11 +2844,11 @@ msgstr "Impossible de cr msgid "Create temporary file " msgstr "Creation fichier temporaire " -#: pcbnew/router.cpp:525 +#: pcbnew/router.cpp:526 msgid "Unable to find data file " msgstr "Impossible de trouver le fichier de données " -#: pcbnew/router.cpp:531 +#: pcbnew/router.cpp:532 msgid "Reading autorouter data file " msgstr "Lecture fichier données de l'autorouteur" @@ -4104,7 +4144,7 @@ msgid "Local Ratsnest" msgstr "Monter le chevelu général" #: pcbnew/edit.cpp:720 -#: pcbnew/modedit.cpp:393 +#: pcbnew/modedit.cpp:327 #: eeschema/schedit.cpp:443 #: eeschema/libframe.cpp:554 msgid "Delete item" @@ -4625,7 +4665,7 @@ msgid "Add Pads" msgstr "Addition de \"pins\"" #: pcbnew/tool_modedit.cpp:175 -#: pcbnew/modedit.cpp:379 +#: pcbnew/modedit.cpp:313 msgid "Place anchor" msgstr "Place Ancre" @@ -4652,11 +4692,35 @@ msgstr "Grille %.1f" msgid "Grid %.3f" msgstr "Grille %.3f" -#: pcbnew/modedit.cpp:362 +#: pcbnew/modedit.cpp:175 +msgid "Unable to find the footprint source on the main board" +msgstr "Impossible de trouver le module source sur le PCB principal" + +#: pcbnew/modedit.cpp:176 +msgid "" +"\n" +"Cannot update the footprint" +msgstr "" +"\n" +"Ne peut mettre à jour le module" + +#: pcbnew/modedit.cpp:184 +msgid "A footprint source was found on the main board" +msgstr "Un module source a été trouvé sur le PCB principal" + +#: pcbnew/modedit.cpp:185 +msgid "" +"\n" +"Cannot insert this footprint" +msgstr "" +"\n" +"Ne peut insérer cd module" + +#: pcbnew/modedit.cpp:296 msgid "Add Pad" msgstr "Ajouter Pastilles" -#: pcbnew/modedit.cpp:375 +#: pcbnew/modedit.cpp:309 #: eeschema/schedit.cpp:293 msgid "Add Drawing" msgstr "Ajout d'éléments graphiques" @@ -4718,18 +4782,6 @@ msgstr "Erreur sur msgid "Componant properties" msgstr "Propriétés du composant" -#: eeschema/fieldedi.cpp:223 -#: eeschema/dialog_erc.cpp:237 -#: eeschema/dialog_edit_component_in_lib.cpp:166 -#: eeschema/dialog_create_component.cpp:176 -#: eeschema/libedpart.cpp:241 -#: eeschema/dialog_edit_component_in_schematic.cpp:204 -#: eeschema/editpart.cpp:204 -#: eeschema/dialog_build_BOM.cpp:279 -#: cvpcb/dialog_display_options.h:43 -msgid "Options" -msgstr "Options" - #: eeschema/fieldedi.cpp:226 msgid " General : " msgstr " Général :" @@ -9753,10 +9805,6 @@ msgstr "Nbr segm = %d, Longueur = " msgid "Find" msgstr "Trouver" -#: pcbnew/dialog_drc.h:43 -msgid "DRC Control" -msgstr "Controle ERC" - #: pcbnew/dialog_pad_edit.h:43 msgid "Pad properties" msgstr "Propriétés des Pads" @@ -9781,6 +9829,10 @@ msgstr "Netliste: " msgid "General Options" msgstr "Options générales" +#: pcbnew/dialog_drc.h:53 +msgid "DRC Control" +msgstr "Controle ERC" + #: pcbnew/win_eda_cleaningoptionsframe.h:50 #: pcbnew/cleaningoptions_dialog.h:48 msgid "Cleaning options" diff --git a/pcbnew/class_pad.cpp b/pcbnew/class_pad.cpp index 7863f1123d..b6873fd47c 100644 --- a/pcbnew/class_pad.cpp +++ b/pcbnew/class_pad.cpp @@ -477,15 +477,16 @@ wxPoint shape_pos; } /* Trace de la reference */ if( ! frame->m_DisplayPadNum) return; - dx = min(m_Size.x, m_Size.y); /* dx = taille du texte */ - if( (dx / zoom) > 12 ) /* Si taille suffisante pour 2 lettres */ + dx = min(m_Size.x, m_Size.y); /* dx = text size */ + if( (dx / zoom) > 12 ) /* size must be enought to draw 2 chars */ { wxString buffer; ReturnStringPadName(buffer); dy = buffer.Len(); - if ( dy < 2 ) dy = 2; /* alignement sur textes a 2 lettres */ - dx = (dx * 9 ) / (dy * 13 ); /* le texte est ajuste pour - tenir entierement dans la pastille */ + /* Draw text with an angle between -90 deg and + 90 deg */ + NORMALIZE_ANGLE_90(angle); + if ( dy < 2 ) dy = 2; /* text min size is 2 char */ + dx = (dx * 9 ) / (dy * 13 ); /* Text size ajusted to pad size */ DrawGraphicText(panel, DC, wxPoint(ux0, uy0), WHITE, buffer, angle, wxSize(dx, dx), GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER); diff --git a/pcbnew/class_pad.h b/pcbnew/class_pad.h index 7ccb718fa3..aca764c83c 100644 --- a/pcbnew/class_pad.h +++ b/pcbnew/class_pad.h @@ -25,7 +25,7 @@ class D_PAD: public EDA_BaseStruct public: union { unsigned long m_NumPadName; - char m_Padname[4] ; /* nom (numero) de la pastille (assimilatble a un long)*/ + char m_Padname[4] ; /* nom (numero) de la pastille (assimilable a un long)*/ }; wxString m_Netname; /* Net Name */ int m_Masque_Layer; // (Bit a Bit :1= cuivre, 15= cmp, diff --git a/pcbnew/dialog_display_options.pjd b/pcbnew/dialog_display_options.pjd new file mode 100644 index 0000000000..072e9136ca --- /dev/null +++ b/pcbnew/dialog_display_options.pjd @@ -0,0 +1,1136 @@ + + +
+ 0 + "" + "" + "" + "" + 28 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Display Options" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_DisplayOptionsDialog" + "wxDialog" + "wxDialog" + "dialog_display_options.cpp" + "dialog_display_options.h" + "" + "Display Options" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Tracks and vias" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX_OPT_TRACK" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_OPT_TRACK" + 10001 + "wxRadioBox" + "m_OptDisplayTracks" + "Tracks:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Sketch|Filled" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX_SHOWCLR" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_SHOWCLR" + 10002 + "wxRadioBox" + "m_OptDisplayTracksClearance" + "Show Track Clearance" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Always|New track|Never" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX_SHOW_VIAS" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_SHOW_VIAS" + 10003 + "wxRadioBox" + "m_OptDisplayViaHole" + "Show Via Holes" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "DisplayOpt.m_DisplayViaMode" + "wxGenericValidator(& %VARIABLE%)" + 0 + 1 + "Never|defined holes|Always" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxStaticBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Modules" + "" + "" + "" + 0 + 1 + "Horizontal" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX_MODTXT" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_MODTXT" + 10004 + "wxRadioBox" + "m_OptDisplayModTexts" + "Module Texts" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "DisplayOpt.DisplayModText" + "wxGenericValidator(& %VARIABLE%)" + 0 + 1 + "Line|Filled|Sketch" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX_MOD_EDGES" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_MOD_EDGES" + 10005 + "wxRadioBox" + "m_OptDisplayModEdges" + "Module Edges:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "DisplayOpt.DisplayModEdge" + "wxGenericValidator(& %VARIABLE%)" + 0 + 1 + "Line|Filled|Sketch" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX_SHOWPADS" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_SHOWPADS" + 10007 + "wxRadioBox" + "m_OptDisplayPads" + "Pads:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Sketch|Filled" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX_PAD_CLR" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX_PAD_CLR" + 10008 + "wxCheckBox" + "m_OptDisplayPadClearence" + "Show Pad Clearance" + 0 + "" + "" + "DisplayOpt.DisplayPadIsol" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX_PADNUM" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX_PADNUM" + 10009 + "wxCheckBox" + "m_OptDisplayPadNumber" + "Show Pad Number" + 0 + "" + "" + "DisplayOpt.DisplayPadNum" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX_PADNC" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX_PADNC" + 10010 + "wxCheckBox" + "m_OptDisplayPadNoConn" + "Show Pad NoConnect" + 0 + "" + "" + "DisplayOpt.DisplayPadNoConn" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX_SHOW_OTHERS" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_SHOW_OTHERS" + 10011 + "wxRadioBox" + "m_OptDisplayDrawings" + "Display other items:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "DisplayOpt.DisplayDrawItems" + "wxGenericValidator(& %VARIABLE%)" + 0 + 1 + "Line|Filled|Sketch" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX_PAGE_LIMITS" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX_PAGE_LIMITS" + 10006 + "wxRadioBox" + "m_Show_Page_Limits" + "Show page limits" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Yes|No" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "CA0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_display_options.rc" + "source-editor-document" + "dialog_display_options.rc" + "source-editor" + 0 + 0 + 1 + 0 + "25/4/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_drc.cpp b/pcbnew/dialog_drc.cpp index 988017d4c5..b09c282bfd 100644 --- a/pcbnew/dialog_drc.cpp +++ b/pcbnew/dialog_drc.cpp @@ -47,6 +47,8 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog ) BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog ) ////@begin WinEDA_DrcFrame event table entries + EVT_CLOSE( WinEDA_DrcFrame::OnCloseWindow ) + EVT_BUTTON( ID_DRC_RUN, WinEDA_DrcFrame::OnDrcRunClick ) EVT_BUTTON( ID_STOP_CONTROL_DRC, WinEDA_DrcFrame::OnStopControlDrcClick ) @@ -93,16 +95,21 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c m_CommandSizer = NULL; m_ClearenceTitle = NULL; m_SetClearance = NULL; + m_Pad2PadTestCtrl = NULL; + m_UnconnectedTestCtrl = NULL; + m_ZonesTestCtrl = NULL; m_logWindow = NULL; ////@end WinEDA_DrcFrame member initialisation ////@begin WinEDA_DrcFrame creation - SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); + SetExtraStyle(wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); CreateControls(); - GetSizer()->Fit(this); - GetSizer()->SetSizeHints(this); + if (GetSizer()) + { + GetSizer()->SetSizeHints(this); + } Centre(); ////@end WinEDA_DrcFrame creation return true; @@ -117,7 +124,7 @@ void WinEDA_DrcFrame::CreateControls() SetFont(*g_DialogFont); ////@begin WinEDA_DrcFrame content construction - // Generated by DialogBlocks, 27/02/2006 21:15:33 (unregistered) + // Generated by DialogBlocks, 30/07/2007 12:44:15 (unregistered) WinEDA_DrcFrame* itemDialog1 = this; @@ -127,49 +134,75 @@ void WinEDA_DrcFrame::CreateControls() m_CommandSizer = new wxBoxSizer(wxHORIZONTAL); m_MainSizer->Add(m_CommandSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); - wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL); - m_CommandSizer->Add(itemBoxSizer4, 0, wxGROW|wxALL, 5); + wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options")); + wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL); + m_CommandSizer->Add(itemStaticBoxSizer4, 0, wxGROW|wxALL, 5); m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 ); - itemBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); + itemStaticBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 ); - itemBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); + itemStaticBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL); - m_CommandSizer->Add(itemBoxSizer7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemStaticBoxSizer4->Add(5, 5, 0, wxGROW|wxALL, 5); - wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxVERTICAL); - itemBoxSizer7->Add(itemBoxSizer8, 0, wxGROW|wxALL, 5); + wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Test Drc:")); + wxStaticBoxSizer* itemStaticBoxSizer8 = new wxStaticBoxSizer(itemStaticBoxSizer8Static, wxVERTICAL); + itemStaticBoxSizer4->Add(itemStaticBoxSizer8, 0, wxGROW|wxALL, 5); - wxButton* itemButton9 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton9->SetForegroundColour(wxColour(202, 0, 0)); - itemBoxSizer8->Add(itemButton9, 0, wxGROW|wxALL, 5); + m_Pad2PadTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_PAD2PAD, _("Include pad to pad test"), wxDefaultPosition, wxDefaultSize, 0 ); + m_Pad2PadTestCtrl->SetValue(false); + itemStaticBoxSizer8->Add(m_Pad2PadTestCtrl, 0, wxGROW|wxALL, 5); - wxButton* itemButton10 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton10->SetForegroundColour(wxColour(0, 128, 128)); - itemBoxSizer8->Add(itemButton10, 0, wxGROW|wxALL, 5); + m_UnconnectedTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX, _("Include unconnected"), wxDefaultPosition, wxDefaultSize, 0 ); + m_UnconnectedTestCtrl->SetValue(false); + itemStaticBoxSizer8->Add(m_UnconnectedTestCtrl, 0, wxGROW|wxALL, 5); - wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL); - itemBoxSizer7->Add(itemBoxSizer11, 0, wxGROW|wxALL, 5); + m_ZonesTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_TEST_ZONES, _("Include zones"), wxDefaultPosition, wxDefaultSize, 0 ); + m_ZonesTestCtrl->SetValue(false); + itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5); - wxButton* itemButton12 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton12->SetForegroundColour(wxColour(0, 128, 0)); - itemBoxSizer11->Add(itemButton12, 0, wxGROW|wxALL, 5); + wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL); + m_CommandSizer->Add(itemBoxSizer12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* itemButton13 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton13->SetForegroundColour(wxColour(0, 0, 255)); - itemBoxSizer11->Add(itemButton13, 0, wxGROW|wxALL, 5); + wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL); + itemBoxSizer12->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); - wxButton* itemButton14 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 ); - itemBoxSizer11->Add(itemButton14, 0, wxGROW|wxALL, 5); + wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL); + itemBoxSizer13->Add(itemBoxSizer14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxStaticText* itemStaticText15 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_MainSizer->Add(itemStaticText15, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); + wxButton* itemButton15 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton15->SetForegroundColour(wxColour(202, 0, 0)); + itemBoxSizer14->Add(itemButton15, 0, wxGROW|wxALL, 5); + + wxButton* itemButton16 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton16->SetForegroundColour(wxColour(0, 128, 128)); + itemBoxSizer14->Add(itemButton16, 0, wxGROW|wxALL, 5); + + wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL); + itemBoxSizer13->Add(itemBoxSizer17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxButton* itemButton18 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton18->SetForegroundColour(wxColour(0, 128, 0)); + itemBoxSizer17->Add(itemButton18, 0, wxGROW|wxALL, 5); + + wxButton* itemButton19 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton19->SetForegroundColour(wxColour(0, 0, 255)); + itemBoxSizer17->Add(itemButton19, 0, wxGROW|wxALL, 5); + + wxButton* itemButton20 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 ); + itemBoxSizer12->Add(itemButton20, 0, wxGROW|wxALL, 5); + + wxStaticText* itemStaticText21 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_MainSizer->Add(itemStaticText21, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY ); m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); + // Set validators + m_Pad2PadTestCtrl->SetValidator( wxGenericValidator(& s_Pad2PadTestOpt) ); + m_UnconnectedTestCtrl->SetValidator( wxGenericValidator(& s_UnconnectedTestOpt) ); + m_ZonesTestCtrl->SetValidator( wxGenericValidator(& s_ZonesTestOpt) ); ////@end WinEDA_DrcFrame content construction AddUnitSymbol(*m_ClearenceTitle); @@ -252,7 +285,25 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnCloseClick( wxCommandEvent& event ) { + s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked(); + s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked(); + s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked(); Close(); } + + + +/*! + * wxEVT_CLOSE_WINDOW event handler for ID_DIALOG + */ + +void WinEDA_DrcFrame::OnCloseWindow( wxCloseEvent& event ) +{ + s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked(); + s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked(); + s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked(); + event.Skip(); +} + diff --git a/pcbnew/dialog_drc.h b/pcbnew/dialog_drc.h index ed2e8c7659..01741412d1 100644 --- a/pcbnew/dialog_drc.h +++ b/pcbnew/dialog_drc.h @@ -23,6 +23,7 @@ */ ////@begin includes +#include "wx/valgen.h" ////@end includes /*! @@ -39,17 +40,20 @@ class wxBoxSizer; ////@begin control identifiers #define ID_DIALOG 10000 -#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX -#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control") -#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG -#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300) -#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition #define ID_TEXTCTRL1 10002 +#define ID_CHECKBOX_PAD2PAD 10009 +#define ID_CHECKBOX 10008 +#define ID_CHECKBOX_TEST_ZONES 10007 #define ID_DRC_RUN 10003 #define ID_STOP_CONTROL_DRC 10004 #define ID_ERASE_DRC_MARKERS 10005 #define ID_LIST_UNCONNECTED_PADS 10006 #define ID_TEXTCTRL 10001 +#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX +#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control") +#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG +#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300) +#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition ////@end control identifiers /*! @@ -83,6 +87,9 @@ public: ////@begin WinEDA_DrcFrame event handler declarations + /// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG + void OnCloseWindow( wxCloseEvent& event ); + /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN void OnDrcRunClick( wxCommandEvent& event ); @@ -121,6 +128,9 @@ public: wxBoxSizer* m_CommandSizer; wxStaticText* m_ClearenceTitle; wxTextCtrl* m_SetClearance; + wxCheckBox* m_Pad2PadTestCtrl; + wxCheckBox* m_UnconnectedTestCtrl; + wxCheckBox* m_ZonesTestCtrl; wxTextCtrl* m_logWindow; ////@end WinEDA_DrcFrame member variables WinEDA_PcbFrame * m_Parent; diff --git a/pcbnew/dialog_edit_mod_text.pjd b/pcbnew/dialog_edit_mod_text.pjd new file mode 100644 index 0000000000..2a20048768 --- /dev/null +++ b/pcbnew/dialog_edit_mod_text.pjd @@ -0,0 +1,1488 @@ + + +
+ 0 + "" + "" + "" + "" + 32 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "TextMod properties" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_TextModPropertiesFrame" + "wxDialog" + "wxDialog" + "dialog_edit_mod_text.cpp" + "dialog_edit_mod_text.h" + "" + "TextMod properties" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Vertical" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_ModuleInfoText" + "Module %s (%s) orient %.1f" + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + "" + "" + + + "wxStaticLine: wxID_STATIC" + "dialog-control-document" + "" + "staticline" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticLineProxy" + "wxID_STATIC" + 5105 + "wxStaticLine" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextDataTitle" + "Reference:" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10003 + "wxTextCtrl" + "m_Name" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_SizeXTitle" + "Size X" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL1" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL1" + 10004 + "wxTextCtrl" + "m_TxtSizeCtrlX" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_SizeYTitle" + "Size Y" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL2" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL2" + 10005 + "wxTextCtrl" + "m_TxtSizeCtrlY" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_PosXTitle" + "Offset X" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL3" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL3" + 10006 + "wxTextCtrl" + "m_TxtPosCtrlX" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_PosYTitle" + "Offset Y" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL4" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL4" + 10007 + "wxTextCtrl" + "m_TxtPosCtrlY" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_WidthTitle" + "Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL5" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL5" + 10008 + "wxTextCtrl" + "m_TxtWidthCtlr" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "C60000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX" + 10001 + "wxRadioBox" + "m_Orient" + "Orientation" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "horiz|vertical" + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX1" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "9/5/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX1" + 10002 + "wxRadioBox" + "m_Show" + "Display" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "show|no show" + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_edit_mod_text.rc" + "source-editor-document" + "dialog_edit_mod_text.rc" + "source-editor" + 0 + 0 + 1 + 0 + "9/5/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_general_options.pjd b/pcbnew/dialog_general_options.pjd new file mode 100644 index 0000000000..24b485bc0c --- /dev/null +++ b/pcbnew/dialog_general_options.pjd @@ -0,0 +1,1483 @@ + + +
+ 0 + "" + "" + "" + "" + 35 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + "GCC Release" + "gcc-config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "GCC" + 1 + "GCC" + "Release" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "Yes" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "General Options" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "wxID_CANCEL" + 5101 + "WinEDA_PcbGeneralOptionsFrame" + "wxDialog" + "wxDialog" + "dialog_general_options.cpp" + "dialog_general_options.h" + "" + "General Options" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX" + 10001 + "wxRadioBox" + "m_PolarDisplay" + "Display Polar Coord" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "No Display|Display" + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX1" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX1" + 10002 + "wxRadioBox" + "m_BoxUnits" + "Units" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Inches|millimeters" + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX2" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX2" + 10003 + "wxRadioBox" + "m_CursorShape" + "Cursor" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Small|Big" + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Number of Layers:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxSpinCtrl: ID_SPINCTRL1" + "dialog-control-document" + "" + "spinctrl" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbSpinCtrlProxy" + "ID_SPINCTRL1" + 10005 + "wxSpinCtrl" + "m_LayerNumber" + 1 + 16 + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Max Links:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxSpinCtrl: ID_SPINCTRL2" + "dialog-control-document" + "" + "spinctrl" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbSpinCtrlProxy" + "ID_SPINCTRL2" + 10006 + "wxSpinCtrl" + "m_MaxShowLinks" + 1 + 5 + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Auto Save (minuts):" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxSpinCtrl: ID_SPINCTRL3" + "dialog-control-document" + "" + "spinctrl" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbSpinCtrlProxy" + "ID_SPINCTRL3" + 10004 + "wxSpinCtrl" + "m_SaveTime" + 0 + 60 + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Options:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxCheckBox: ID_CHECKBOX" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX" + 10007 + "wxCheckBox" + "m_DrcOn" + "Drc ON" + 0 + "" + "" + "" + "" + "" + "C60000" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX1" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX1" + 10008 + "wxCheckBox" + "m_ShowGlobalRatsnest" + "Show Ratsnest" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX2" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX2" + 10009 + "wxCheckBox" + "m_ShowModuleRatsnest" + "Show Mod Ratsnest" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX3" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX3" + 10010 + "wxCheckBox" + "m_TrackAutodel" + "Tracks Auto Del" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX4" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX4" + 10011 + "wxCheckBox" + "m_Track_45_Only_Ctrl" + "Track 45 Only" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX5" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX5" + 10012 + "wxCheckBox" + "m_Segments_45_Only_Ctrl" + "Segments 45 Only" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX6" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX6" + 10013 + "wxCheckBox" + "m_AutoPANOpt" + "Auto PAN" + 0 + "" + "" + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX7" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX7" + 10014 + "wxCheckBox" + "m_Track_DoubleSegm_Ctrl" + "Double Segm Track" + 0 + "" + "" + "" + "" + "" + "009000" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_MAGNETIC_PAD_CTRL" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "13/6/2006" + "wbRadioBoxProxy" + "ID_MAGNETIC_PAD_CTRL" + 10000 + "wxRadioBox" + "m_MagneticPadOptCtrl" + "Magnetic Pads" + 1 + "" + "control the capture of the pcb cursor when the mouse cursor enters a pad area" + "" + "" + "" + 0 + 1 + "<Any platform>" + "g_MagneticPadOption" + "wxGenericValidator(& %VARIABLE%)" + 0 + 1 + "Never|When creating tracks|Always" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "21/6/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "DD0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "22/8/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_general_options.rc" + "source-editor-document" + "dialog_general_options.rc" + "source-editor" + 0 + 0 + 1 + 0 + "21/6/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_graphic_items_options.pjd b/pcbnew/dialog_graphic_items_options.pjd new file mode 100644 index 0000000000..74af5fd883 --- /dev/null +++ b/pcbnew/dialog_graphic_items_options.pjd @@ -0,0 +1,1673 @@ + + +
+ 0 + "" + "" + "" + "" + 34 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Texts and Drawings" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_GraphicItemsOptionsDialog" + "wxDialog" + "wxDialog" + "dialog_graphic_items_options.cpp" + "dialog_graphic_items_options.h" + "" + "Texts and Drawings" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + "-1" + "Graphics:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_GraphicSegmWidthTitle" + "Graphic segm Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_SEGW" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_SEGW" + 10001 + "wxTextCtrl" + "m_OptPcbSegmWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_BoardEdgesWidthTitle" + "Board Edges Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_EDGES" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_EDGES" + 10002 + "wxTextCtrl" + "m_OptPcbEdgesWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_CopperTextWidthTitle" + "Copper Text Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TEXTW" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TEXTW" + 10003 + "wxTextCtrl" + "m_OptPcbTextWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextSizeVTitle" + "Text Size V" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TEXTV" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TEXTV" + 10004 + "wxTextCtrl" + "m_OptPcbTextVSize" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextSizeHTitle" + "Text Size H" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TEXTH" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TEXTH" + 10005 + "wxTextCtrl" + "m_OptPcbTextHSize" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + "-1" + "Modules:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_EdgeModWidthTitle" + "Edges Module Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_EDGEMOD_W" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_EDGEMOD_W" + 10006 + "wxTextCtrl" + "m_OptModuleEdgesWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextModWidthTitle" + "Text Module Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TXTMOD_W" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TXTMOD_W" + 10007 + "wxTextCtrl" + "m_OptModuleTextWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextModSizeVTitle" + "Text Module Size V" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TXTMOD_V" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TXTMOD_V" + 10008 + "wxTextCtrl" + "m_OptModuleTextVSize" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TextModSizeHTitle" + "Text Module Size H" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_TXTMOD_H" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_TXTMOD_H" + 10009 + "wxTextCtrl" + "m_OptModuleTextHSize" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "CE0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/6/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_graphic_items_options.rc" + "source-editor-document" + "dialog_graphic_items_options.rc" + "source-editor" + 0 + 0 + 1 + 0 + "25/6/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_initpcb.pjd b/pcbnew/dialog_initpcb.pjd new file mode 100644 index 0000000000..e1bedaeb5c --- /dev/null +++ b/pcbnew/dialog_initpcb.pjd @@ -0,0 +1,1019 @@ + + +
+ 0 + "" + "" + "" + "" + 26 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Global Delete" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_PcbGlobalDeleteFrame" + "wxDialog" + "wxDialog" + "dialog_initpcb.cpp" + "dialog_initpcb.h" + "" + "Global Delete" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Items to delete" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxCheckBox: ID_CHECKBOX" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX" + 10001 + "wxCheckBox" + "m_DelZones" + "Delete Zones" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX1" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX1" + 10002 + "wxCheckBox" + "m_DelTexts" + "Delete Texts" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX2" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX2" + 10003 + "wxCheckBox" + "m_DelEdges" + "Delete Edges" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX3" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX3" + 10004 + "wxCheckBox" + "m_DelDrawings" + "Delete Drawings" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX4" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX4" + 10005 + "wxCheckBox" + "m_DelModules" + "Delete Modules" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX5" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX5" + 10006 + "wxCheckBox" + "m_DelTracks" + "Delete Tracks" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX6" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX6" + 10007 + "wxCheckBox" + "m_DelMarkers" + "Delete Markers" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX7" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX7" + 10008 + "wxCheckBox" + "m_DelAlls" + "Clear Board" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbBoxSizerProxy" + "Vertical" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Track Filter" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxCheckBox: ID_CHECKBOX8" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX8" + 10009 + "wxCheckBox" + "m_TrackFilterAR" + "Include AutoRouted Tracks" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX9" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX9" + 10010 + "wxCheckBox" + "m_TrackFilterLocked" + "Include Locked Tracks" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "15/2/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_initpcb.rc" + "source-editor-document" + "dialog_initpcb.rc" + "source-editor" + 0 + 0 + 1 + 0 + "15/2/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_netlist.pjd b/pcbnew/dialog_netlist.pjd new file mode 100644 index 0000000000..bb4e4730e4 --- /dev/null +++ b/pcbnew/dialog_netlist.pjd @@ -0,0 +1,940 @@ + + +
+ 0 + "" + "" + "" + "" + 23 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Netlist: " + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_NetlistFrame" + "wxDialog" + "wxDialog" + "dialog_netlist.cpp" + "dialog_netlist.h" + "" + "Netlist: " + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Vertical" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX" + 10005 + "wxRadioBox" + "m_Select_By_Timestamp" + "Module Selection:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Reference|Timestamp" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX1" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX1" + 10006 + "wxRadioBox" + "m_DeleteBadTracks" + "Bad Tracks Deletion:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Keep|Delete" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX2" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX2" + 10007 + "wxRadioBox" + "m_ChangeExistantModuleCtrl" + "Exchange Module:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Keep|Change" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX" + 10008 + "wxCheckBox" + "m_DisplayWarningCtrl" + "Display Warnings" + 0 + "" + "" + "DisplayWarning" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_OPEN_NELIST" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOpenNelistClick" + "ID_OPEN_NELIST" + 10001 + "wxButton" + "" + "Select" + 0 + "" + "" + "" + "D90000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_READ_NETLIST_FILE" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnReadNetlistFileClick" + "ID_READ_NETLIST_FILE" + 10002 + "wxButton" + "" + "Read" + 0 + "" + "" + "" + "008000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_TEST_NETLIST" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnTestNetlistClick" + "ID_TEST_NETLIST" + 10003 + "wxButton" + "" + "Module Test" + 0 + "" + "" + "" + "008080" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_COMPILE_RATSNEST" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCompileRatsnestClick" + "ID_COMPILE_RATSNEST" + 10004 + "wxButton" + "" + "Compile" + 0 + "" + "" + "" + "000084" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CLOSE" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCloseClick" + "wxID_CLOSE" + 5001 + "wxButton" + "" + "&Close" + 0 + "" + "" + "" + "800080" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10009 + "wxTextCtrl" + "m_MessageWindow" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + 120 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_netlist.rc" + "source-editor-document" + "dialog_netlist.rc" + "source-editor" + 0 + 0 + 1 + 0 + "26/3/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_pad_edit.pjd b/pcbnew/dialog_pad_edit.pjd new file mode 100644 index 0000000000..80dab493dc --- /dev/null +++ b/pcbnew/dialog_pad_edit.pjd @@ -0,0 +1,1777 @@ + + +
+ 0 + "" + "" + "" + "" + 39 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 0 + 4 + "" + 0 + 0 + 1 + 1 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Pad properties" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_PadPropertiesFrame" + "wxDialog" + "wxDialog" + "dialog_pad_edit.cpp" + "dialog_pad_edit.h" + "" + "Pad properties" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbBoxSizerProxy" + "Vertical" + "m_LeftBoxSizer" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Pad Num :" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_PADNUM" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_PADNUM" + 10001 + "wxTextCtrl" + "m_PadNumCtrl" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Pad Net Name :" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL_NETNAME" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL_NETNAME" + 10002 + "wxTextCtrl" + "m_PadNetNameCtrl" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/5/2006" + "wbBoxSizerProxy" + "Vertical" + "m_PadPositionBoxSizer" + "Expand" + "Centre" + 0 + 5 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + "<Any platform>" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "3/8/2006" + "wbBoxSizerProxy" + "Vertical" + "m_DrillShapeBoxSizer" + "Expand" + "Expand" + 0 + 5 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX_DRILL_SHAPE" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "3/8/2006" + "wbRadioBoxProxy" + "wxEVT_COMMAND_RADIOBOX_SELECTED|OnRadioboxDrillShapeSelected" + "ID_RADIOBOX_DRILL_SHAPE" + 10019 + "wxRadioBox" + "m_DrillShapeCtrl" + "Drill Shape:" + 1 + "Circle|Oval" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbBoxSizerProxy" + "Vertical" + "m_PadOptSizer" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_LISTBOX_ORIENT_PAD" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbRadioBoxProxy" + "wxEVT_COMMAND_RADIOBOX_SELECTED|OnListboxOrientPadSelected" + "ID_LISTBOX_ORIENT_PAD" + 10003 + "wxRadioBox" + "m_PadOrient" + "Pad Orient:" + 1 + "0|90|-90|180|User" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_LISTBOX_SHAPE_PAD" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbRadioBoxProxy" + "wxEVT_COMMAND_RADIOBOX_SELECTED|OnListboxShapePadSelected" + "ID_LISTBOX_SHAPE_PAD" + 10004 + "wxRadioBox" + "m_PadShape" + "Pad Shape:" + 1 + "Circle|Oval|Rect|Trapezoidal" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_LISTBOX_TYPE_PAD" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbRadioBoxProxy" + "wxEVT_COMMAND_RADIOBOX_SELECTED|OnListboxTypePadSelected" + "ID_LISTBOX_TYPE_PAD" + 10005 + "wxRadioBox" + "m_PadType" + "Pad Type:" + 1 + "Standard|SMD|Conn|Hole|Mechanical" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + "-1" + "Layers:" + "" + "" + "" + 0 + 1 + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxCheckBox: ID_CHECKBOX" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX" + 10006 + "wxCheckBox" + "m_PadLayerCu" + "Copper layer" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX1" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX1" + 10007 + "wxCheckBox" + "m_PadLayerCmp" + "Comp layer" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxCheckBox: ID_CHECKBOX2" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX2" + 10008 + "wxCheckBox" + "m_PadLayerAdhCmp" + "Adhesive Cmp" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX3" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX3" + 10009 + "wxCheckBox" + "m_PadLayerAdhCu" + "Adhesive Copper" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX4" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX4" + 10010 + "wxCheckBox" + "m_PadLayerPateCmp" + "Solder paste Cmp" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX5" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX5" + 10011 + "wxCheckBox" + "m_PadLayerPateCu" + "Solder paste Copper" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX6" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX6" + 10012 + "wxCheckBox" + "m_PadLayerSilkCmp" + "Silkscreen Cmp" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX7" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX7" + 10013 + "wxCheckBox" + "m_PadLayerSilkCu" + "Silkscreen Copper" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX8" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX8" + 10014 + "wxCheckBox" + "m_PadLayerMaskCmp" + "Solder mask Cmp" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX9" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX9" + 10015 + "wxCheckBox" + "m_PadLayerMaskCu" + "Solder mask Copper" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX10" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX10" + 10016 + "wxCheckBox" + "m_PadLayerECO1" + "E.C.O.1 layer" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX11" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX11" + 10017 + "wxCheckBox" + "m_PadLayerECO2" + "E.C.O.2 layer" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX12" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "28/7/2006" + "wbCheckBoxProxy" + "ID_CHECKBOX12" + 10018 + "wxCheckBox" + "m_PadLayerDraft" + "Draft layer" + 0 + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_pad_edit.rc" + "source-editor-document" + "dialog_pad_edit.rc" + "source-editor" + 0 + 0 + 1 + 0 + "28/7/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_setup_libs.pjd b/pcbnew/dialog_setup_libs.pjd new file mode 100644 index 0000000000..d6ac829000 --- /dev/null +++ b/pcbnew/dialog_setup_libs.pjd @@ -0,0 +1,1123 @@ + + +
+ 0 + "" + "" + "" + "" + 28 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Untitled" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "17/2/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "wxEVT_CLOSE_WINDOW|OnCloseWindow" + "ID_DIALOG" + 10000 + "KiConfigPcbnewFrame" + "wxDialog" + "wxDialog" + "dialog_setup_libs.cpp" + "dialog_setup_libs.h" + "" + "Dialog" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Vertical" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: SAVE_CFG" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnSaveCfgClick" + "SAVE_CFG" + 10001 + "wxButton" + "" + "Save Cfg" + 0 + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "18/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Files ext:" + "m_FileExtList" + "" + "" + 0 + 1 + "Vertical" + "" + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: DEL_LIB" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnDelLibClick" + "DEL_LIB" + 10002 + "wxButton" + "" + "Del" + 0 + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ADD_LIB" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnAddLibClick" + "ADD_LIB" + 10003 + "wxButton" + "" + "Add" + 0 + "" + "" + "" + "008000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: INSERT_LIB" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnInsertLibClick" + "INSERT_LIB" + 10004 + "wxButton" + "" + "Ins" + 1 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Libraries" + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 0 + 0 + 1 + 0 + "" + "" + + + "wxListBox: ID_LIST_LIBS" + "dialog-control-document" + "" + "listbox" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbListBoxProxy" + "ID_LIST_LIBS" + 10005 + "wxListBox" + "m_ListLibr" + "" + "" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + 200 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Lib Modules Dir:" + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Top" + 0 + 5 + 1 + 1 + 0 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "17/10/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10007 + "wxTextCtrl" + "m_TextLibDir" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "g_UserLibDirBuffer" + "wxTextValidator(wxFILTER_NONE, & %VARIABLE%)" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "18/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Module Doc File:" + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Top" + 0 + 5 + 1 + 1 + 0 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL1" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "18/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL1" + 10008 + "wxTextCtrl" + "m_TextHelpModulesFileName" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_setup_libs.rc" + "source-editor-document" + "dialog_setup_libs.rc" + "source-editor" + 0 + 0 + 1 + 0 + "17/2/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/dialog_track_options.pjd b/pcbnew/dialog_track_options.pjd new file mode 100644 index 0000000000..a53f834dc5 --- /dev/null +++ b/pcbnew/dialog_track_options.pjd @@ -0,0 +1,1361 @@ + + +
+ 0 + "" + "" + "" + "" + 30 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Tracks and Vias Sizes" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_PcbTracksDialog" + "wxDialog" + "wxDialog" + "dialog_track_options.cpp" + "dialog_track_options.h" + "" + "Tracks and Vias Sizes" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_ViaSizeTitle" + "Via Size" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10001 + "wxTextCtrl" + "m_OptViaSize" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_ViaDefaultDrillValueTitle" + "Default Via Drill" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL1" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL1" + 10002 + "wxTextCtrl" + "m_OptViaDrill" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_ViaAltDrillValueTitle" + "Alternate Via Drill" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL2" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL2" + 10003 + "wxTextCtrl" + "m_OptCustomViaDrill" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxRadioBox: ID_VIA_TYPE_SELECTION" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbRadioBoxProxy" + "ID_VIA_TYPE_SELECTION" + 10004 + "wxRadioBox" + "m_OptViaType" + "Via Type" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Blind Via|Buried Via|Standard Via" + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TrackWidthTitle" + "Track Width" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL3" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL3" + 10005 + "wxTextCtrl" + "m_OptTrackWidth" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_TrackClearanceTitle" + "Clearance" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL4" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL4" + 10006 + "wxTextCtrl" + "m_OptTrackClearance" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_MaskClearanceTitle" + "Mask clearance" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL5" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL5" + 10007 + "wxTextCtrl" + "m_OptMaskMargin" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "24/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/2/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/2/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 0 + "" + "" + "" + "D20000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/2/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 1 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "dialog_track_options.rc" + "source-editor-document" + "dialog_track_options.rc" + "source-editor" + 0 + 0 + 1 + 0 + "24/4/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/drc.cpp b/pcbnew/drc.cpp index eb336bc2e4..e06ab440de 100644 --- a/pcbnew/drc.cpp +++ b/pcbnew/drc.cpp @@ -16,6 +16,12 @@ class WinEDA_DrcFrame; WinEDA_DrcFrame * DrcFrame; +/* saving drc options */ +bool s_Pad2PadTestOpt = true; +bool s_UnconnectedTestOpt = true; +bool s_ZonesTestOpt = false; + + int NumberOfErrors; static MARQUEUR * current_marqueur; /* Pour gestion des marqueurs sur pcb */ @@ -28,10 +34,10 @@ static int xcliplo,ycliplo,xcliphi,ycliphi ; /* coord de la surface de securite /* Routines Locales */ static int Pad_to_Pad_Isol(D_PAD * pad_ref, D_PAD * pad, const int dist_min); -static bool TestPadDrc(WinEDA_BasePcbFrame *frame, wxDC * DC, D_PAD * pad_ref, +static bool Test_Pad_to_Pads_Drc(WinEDA_BasePcbFrame *frame, wxDC * DC, D_PAD * pad_ref, LISTE_PAD * start_buffer, LISTE_PAD * end_buffer, int max_size, bool show_err); -static int distance_a_pad(const D_PAD* pad_to_test, int seg_width, int isol); -static int distance_a_rond(int cx, int cy, int rayon, int longueur); +static int TestClearanceSegmToPad(const D_PAD* pad_to_test, int seg_width, int isol); +static int TestMarginToCircle(int cx, int cy, int rayon, int longueur); static int Tst_Ligne(int x1,int y1,int x2,int y2); static void Affiche_Erreur_DRC(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb, TRACK * pt_ref, void * pt_item, int errnumber); @@ -100,14 +106,18 @@ int errors; wxString msg; if ( ! DrcInProgress ) { + s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked(); + s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked(); + s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked(); AbortDrc = FALSE; m_logWindow->Clear(); g_DesignSettings.m_TrackClearence = ReturnValueFromTextCtrl(*m_SetClearance, m_Parent->m_InternalUnits); /* Test DRC errors (clearance errors, bad connections .. */ - errors = m_Parent->Test_DRC(m_DC); - /* Serach for active routes (unconnected pads) */ - ListUnconnectedPads(event); + errors = m_Parent->Test_DRC(m_DC, m_Pad2PadTestCtrl->IsChecked(), m_ZonesTestCtrl->IsChecked()); + /* Search for active routes (unconnected pads) */ + if ( m_UnconnectedTestCtrl->IsChecked() ) ListUnconnectedPads(event); + else m_UnconnectedCount = 0; if ( errors ) msg.Printf(_("** End Drc: %d errors **\n"),errors); else if ( m_UnconnectedCount == 0 ) @@ -122,10 +132,10 @@ void WinEDA_DrcFrame::DelDRCMarkers(wxCommandEvent & event) /*********************************************************/ { if ( ! DrcInProgress ) - { - m_Parent->Erase_Marqueurs(m_DC, FALSE); + { + m_Parent->Erase_Marqueurs(); m_Parent->DrawPanel->ReDraw(m_DC,TRUE); - } + } else wxBell(); } @@ -145,27 +155,29 @@ void WinEDA_PcbFrame::Install_Test_DRC_Frame(wxDC * DC) } -/***************************************/ -int WinEDA_PcbFrame::Test_DRC(wxDC * DC) -/***************************************/ +/************************************************************************/ +int WinEDA_PcbFrame::Test_DRC(wxDC * DC, bool TestPad2Pad, bool TestZone) +/************************************************************************/ /* Test des isolements : teste les isolements des pistes et place un marqueur sur les divers segments en defaut Principe: Appelle la routine drc() pour chaque segment de piste existant */ { -int ii, old_net; +int ii, jj, old_net; int flag_err_Drc; TRACK * pt_segm; D_PAD * pad; MARQUEUR * Marqueur; -EDA_BaseStruct * PtStruct, *PtNext; +EDA_BaseStruct * PtStruct; wxString Line; #define PRINT_NB_PAD_POS 42 #define PRINT_PAD_ERR_POS 48 #define PRINT_TST_POS 20 #define PRINT_NB_SEGM_POS 26 #define PRINT_TRACK_ERR_POS 32 +#define PRINT_NB_ZONESEGM_POS 60 +#define PRINT_ZONE_ERR_POS 70 DrcInProgress = TRUE; NumberOfErrors = 0; @@ -176,82 +188,86 @@ wxString Line; m_CurrentScreen->SetRefreshReq(); /* Effacement des anciens marqueurs */ - PtStruct = (EDA_BaseStruct*) m_Pcb->m_Drawings; - for( ; PtStruct != NULL; PtStruct = PtNext) - { - PtNext = PtStruct->Pnext; - if(PtStruct->m_StructType == TYPEMARQUEUR ) DeleteStructure(PtStruct); - } + Erase_Marqueurs(); - /* Test DRC des pads entre eux */ - Line.Printf( wxT("%d"),m_Pcb->m_NbPads) ; - Affiche_1_Parametre(this, PRINT_NB_PAD_POS, wxT("NbPad"),Line,RED) ; - Affiche_1_Parametre(this, PRINT_PAD_ERR_POS, wxT("Pad Err"), wxT("0"), LIGHTRED); - Line = wxT("Tst Pad to Pad\n"); - if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(Line); - LISTE_PAD * pad_list_start = CreateSortedPadListByXCoord(m_Pcb); - LISTE_PAD * pad_list_limit = &pad_list_start[m_Pcb->m_NbPads]; - int max_size = 0; - LISTE_PAD * pad_list; - /* Compute the max size of the pads ( used to stop the test) */ - for ( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++) + if ( TestPad2Pad ) /* Test DRC des pads entre eux */ { - pad = * pad_list; - if ( pad->m_Rayon > max_size ) max_size = pad->m_Rayon; - } - /* Test the pads */ - for ( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++) - { - pad = * pad_list; - if ( TestPadDrc(this, DC, pad, pad_list, pad_list_limit, max_size, TRUE) == BAD_DRC ) + Line.Printf( wxT("%d"),m_Pcb->m_NbPads) ; + Affiche_1_Parametre(this, PRINT_NB_PAD_POS, wxT("NbPad"),Line,RED) ; + Affiche_1_Parametre(this, PRINT_PAD_ERR_POS, wxT("Pad Err"), wxT("0"), LIGHTRED); + if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(_("Tst Pad to Pad\n")); + LISTE_PAD * pad_list_start = CreateSortedPadListByXCoord(m_Pcb); + LISTE_PAD * pad_list_limit = &pad_list_start[m_Pcb->m_NbPads]; + int max_size = 0; + LISTE_PAD * pad_list; + /* Compute the max size of the pads ( used to stop the test) */ + for ( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++) { - Marqueur = current_marqueur; - current_marqueur = NULL; - if( Marqueur == NULL ) - { - DisplayError(this, wxT("Test_Drc(): internal err")); - return NumberOfErrors; - } - Line.Printf( wxT("%d"),NumberOfErrors) ; - Affiche_1_Parametre(this, PRINT_PAD_ERR_POS,wxEmptyString,Line, LIGHTRED); - Marqueur->Pnext = m_Pcb->m_Drawings; - Marqueur->Pback = m_Pcb; - - PtStruct = m_Pcb->m_Drawings; - if(PtStruct) PtStruct->Pback = Marqueur; - m_Pcb->m_Drawings = Marqueur; + pad = * pad_list; + if ( pad->m_Rayon > max_size ) max_size = pad->m_Rayon; } + /* Test the pads */ + for ( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++) + { + pad = * pad_list; + if ( Test_Pad_to_Pads_Drc(this, DC, pad, pad_list, pad_list_limit, max_size, TRUE) == BAD_DRC ) + { + Marqueur = current_marqueur; + current_marqueur = NULL; + if( Marqueur == NULL ) + { + DisplayError(this, wxT("Test_Drc(): internal err")); + return NumberOfErrors; + } + Line.Printf( wxT("%d"),NumberOfErrors) ; + Affiche_1_Parametre(this, PRINT_PAD_ERR_POS,wxEmptyString,Line, LIGHTRED); + Marqueur->Pnext = m_Pcb->m_Drawings; + Marqueur->Pback = m_Pcb; + + PtStruct = m_Pcb->m_Drawings; + if(PtStruct) PtStruct->Pback = Marqueur; + m_Pcb->m_Drawings = Marqueur; + } + } + free(pad_list_start); } - free(pad_list_start); - /* Test des segments de piste */ + /* Test track segments */ Line.Printf( wxT("%d"),m_Pcb->m_NbSegmTrack) ; Affiche_1_Parametre(this, PRINT_NB_SEGM_POS,_("SegmNb"),Line,RED) ; Affiche_1_Parametre(this, PRINT_TRACK_ERR_POS,_("Track Err"), wxT("0"), LIGHTRED); - pt_segm = (TRACK*)m_Pcb->m_Track; + pt_segm = m_Pcb->m_Track; if ( DrcFrame ) DrcFrame->m_logWindow->AppendText( _("Tst Tracks\n") ); - for( ii = 0, old_net = -1; pt_segm != NULL; pt_segm = (TRACK*)pt_segm->Pnext, ii++) + for( ii = 0, old_net = -1, jj = 0; pt_segm != NULL; pt_segm = (TRACK*)pt_segm->Pnext, ii++, jj--) { - wxYield(); - if(AbortDrc) - { - AbortDrc = FALSE; break; - } if( pt_segm->Pnext == NULL) break; - g_HightLigth_NetCode = pt_segm->m_NetCode; - flag_err_Drc = Drc(this, DC, pt_segm,(TRACK*)pt_segm->Pnext, 1); - Line.Printf( wxT("%d"),ii); - Affiche_1_Parametre(this, PRINT_TST_POS, wxT("Test"),Line,CYAN) ; + if ( jj == 0 ) + { + jj = 10; + wxYield(); + if(AbortDrc) + { + AbortDrc = FALSE; break; + } + /* Print stats */ + Line.Printf( wxT("%d"),ii); + Affiche_1_Parametre(this, PRINT_TST_POS, wxT("Test"),Line,CYAN) ; + } + if ( old_net != pt_segm->m_NetCode) { wxString msg; + jj = 1; EQUIPOT * equipot = GetEquipot(m_Pcb, pt_segm->m_NetCode); if ( equipot ) msg = equipot->m_Netname + wxT(" "); else msg = wxT(""); Affiche_1_Parametre(this, 0,_("Netname"),msg, YELLOW); old_net = pt_segm->m_NetCode; } + + g_HightLigth_NetCode = pt_segm->m_NetCode; + flag_err_Drc = Drc(this, DC, pt_segm,(TRACK*)pt_segm->Pnext, 1); if(flag_err_Drc == BAD_DRC) { Marqueur = current_marqueur; @@ -272,11 +288,102 @@ wxString Line; pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED ); Line.Printf( wxT("%d"),NumberOfErrors); Affiche_1_Parametre(this, PRINT_TRACK_ERR_POS,wxEmptyString,Line, LIGHTRED); - Line.Printf( wxT("%d"),m_Pcb->m_NbSegmTrack); - Affiche_1_Parametre(this, PRINT_NB_SEGM_POS,wxEmptyString,Line,RED) ; } } + /* Test zone segments segments */ + if ( TestZone ) + { + m_Pcb->m_NbSegmZone = 0; + for( pt_segm = (TRACK*)m_Pcb->m_Zone; pt_segm != NULL; pt_segm = (TRACK*)pt_segm->Pnext) + m_Pcb->m_NbSegmZone++; + Line.Printf( wxT("%d"),m_Pcb->m_NbSegmZone) ; + Affiche_1_Parametre(this, PRINT_NB_ZONESEGM_POS,_("SegmNb"),Line,RED) ; + Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS,_("Zone Err"), wxT("0"), LIGHTRED); + + if ( DrcFrame ) DrcFrame->m_logWindow->AppendText( _("Tst Zones\n") ); + + pt_segm = (TRACK*)m_Pcb->m_Zone; + for( ii = 0, old_net = -1, jj = 0; pt_segm != NULL; pt_segm = (TRACK*)pt_segm->Pnext, ii++, jj--) + { + if( pt_segm->Pnext == NULL) break; + if ( jj == 0 ) + { + jj = 100; + wxYield(); + if(AbortDrc) + { + AbortDrc = FALSE; break; + } + /* Print stats */ + Line.Printf( wxT("%d"),ii); + Affiche_1_Parametre(this, PRINT_TST_POS, wxT("Test"),Line,CYAN) ; + } + + if ( old_net != pt_segm->m_NetCode) + { + jj = 1; + wxString msg; + EQUIPOT * equipot = GetEquipot(m_Pcb, pt_segm->m_NetCode); + if ( equipot ) msg = equipot->m_Netname + wxT(" "); + else msg = wxT(""); + Affiche_1_Parametre(this, 0,_("Netname"),msg, YELLOW); + old_net = pt_segm->m_NetCode; + } + g_HightLigth_NetCode = pt_segm->m_NetCode; + /* Test drc with other zone segments, and pads */ + flag_err_Drc = Drc(this, DC, pt_segm,(TRACK*)pt_segm->Pnext, 1); + if(flag_err_Drc == BAD_DRC) + { + Marqueur = current_marqueur; + current_marqueur = NULL; + if( Marqueur == NULL ) + { + DisplayError(this, wxT("Test_Drc(): internal err")); + return NumberOfErrors; + } + Marqueur->Pnext = m_Pcb->m_Drawings; + Marqueur->Pback = m_Pcb; + + PtStruct = m_Pcb->m_Drawings; + if(PtStruct) PtStruct->Pback = Marqueur; + m_Pcb->m_Drawings = Marqueur; + + GRSetDrawMode(DC, GR_OR); + pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED ); + Line.Printf( wxT("%d"),NumberOfErrors); + Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED); + } + + /* Test drc with track segments */ + int tmp = m_Pcb->m_NbPads; m_Pcb->m_NbPads = 0; // Pads already tested: disable pad test + flag_err_Drc = Drc(this, DC, pt_segm, m_Pcb->m_Track, 1); + m_Pcb->m_NbPads = tmp; + if(flag_err_Drc == BAD_DRC) + { + Marqueur = current_marqueur; + current_marqueur = NULL; + if( Marqueur == NULL ) + { + DisplayError(this, wxT("Test_Drc(): internal err")); + return NumberOfErrors; + } + Marqueur->Pnext = m_Pcb->m_Drawings; + Marqueur->Pback = m_Pcb; + + PtStruct = m_Pcb->m_Drawings; + if(PtStruct) PtStruct->Pback = Marqueur; + m_Pcb->m_Drawings = Marqueur; + + GRSetDrawMode(DC, GR_OR); + pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED ); + Line.Printf( wxT("%d"),NumberOfErrors); + Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED); + } + } + } + + AbortDrc = FALSE; DrcInProgress = FALSE; return NumberOfErrors; @@ -328,7 +435,7 @@ wxPoint shape_pos; segm_long = dx; /******************************************/ - /* Phase 1 : test DRC avec les pastilles :*/ + /* Phase 1 : test DRC track to pads :*/ /******************************************/ /* calcul de la distance min aux pads : */ @@ -342,7 +449,7 @@ wxPoint shape_pos; face sur CI double face */ if( (pt_pad->m_Masque_Layer & MaskLayer ) == 0 ) { - /* We must test the pad hole. In order to use the function "distance_a_pad", + /* We must test the pad hole. In order to use the function "TestClearanceSegmToPad", a pseudo pad is used, with a shape and a size like the hole */ if ( pt_pad->m_Drill.x == 0 ) continue; D_PAD pseudo_pad((MODULE*)NULL); @@ -353,7 +460,7 @@ wxPoint shape_pos; pseudo_pad.ComputeRayon(); spot_cX = pseudo_pad.m_Pos.x - org_X; spot_cY = pseudo_pad.m_Pos.y - org_Y; - if( distance_a_pad(&pseudo_pad, w_dist, g_DesignSettings.m_TrackClearence) != OK_DRC ) + if( TestClearanceSegmToPad(&pseudo_pad, w_dist, g_DesignSettings.m_TrackClearence) != OK_DRC ) { NumberOfErrors++; if( show_err ) @@ -373,7 +480,7 @@ wxPoint shape_pos; shape_pos = pt_pad->ReturnShapePos(); spot_cX = shape_pos.x - org_X; spot_cY = shape_pos.y - org_Y; - if( distance_a_pad(pt_pad, w_dist, g_DesignSettings.m_TrackClearence) == OK_DRC ) continue ; + if( TestClearanceSegmToPad(pt_pad, w_dist, g_DesignSettings.m_TrackClearence) == OK_DRC ) continue ; /* extremite sur pad ou defaut d'isolation trouve */ else @@ -435,7 +542,7 @@ wxPoint shape_pos; RotatePoint(&dx, &dy, angle); RotatePoint(&x0, &y0, angle); - if( distance_a_rond(x0, y0, w_dist, dx) == BAD_DRC ) + if( TestMarginToCircle(x0, y0, w_dist, dx) == BAD_DRC ) { NumberOfErrors++; if(show_err) @@ -455,7 +562,7 @@ wxPoint shape_pos; if ( pttrack->m_StructType == TYPEVIA ) { - if( distance_a_rond(x0, y0,w_dist,segm_long) == OK_DRC) continue; + if( TestMarginToCircle(x0, y0,w_dist,segm_long) == OK_DRC) continue; NumberOfErrors++; if(show_err) Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,21); @@ -482,7 +589,7 @@ wxPoint shape_pos; Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,2); return(BAD_DRC) ; } - if( distance_a_rond(x0, y0, w_dist,segm_long) == BAD_DRC) + if( TestMarginToCircle(x0, y0, w_dist,segm_long) == BAD_DRC) { NumberOfErrors++; if(show_err) @@ -500,7 +607,7 @@ wxPoint shape_pos; Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,3); return(BAD_DRC) ; } - if( distance_a_rond(xf, yf, w_dist,segm_long) == BAD_DRC) + if( TestMarginToCircle(xf, yf, w_dist,segm_long) == BAD_DRC) { NumberOfErrors++; if(show_err) @@ -534,14 +641,14 @@ wxPoint shape_pos; /* ici l'erreur est due a une extremite pres d'une extremite du segm de reference */ - if(distance_a_rond(x0,y0,w_dist,segm_long) == BAD_DRC) + if(TestMarginToCircle(x0,y0,w_dist,segm_long) == BAD_DRC) { NumberOfErrors++; if(show_err) Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,7); return(BAD_DRC) ; } - if(distance_a_rond(xf,yf,w_dist,segm_long) == BAD_DRC) + if(TestMarginToCircle(xf,yf,w_dist,segm_long) == BAD_DRC) { NumberOfErrors++; if(show_err) @@ -596,14 +703,14 @@ wxPoint shape_pos; RotatePoint(&rx0,&ry0, angle); RotatePoint(&rxf,&ryf, angle); - if(distance_a_rond(rx0,ry0,w_dist,dx) == BAD_DRC) + if(TestMarginToCircle(rx0,ry0,w_dist,dx) == BAD_DRC) { NumberOfErrors++; if(show_err) Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,10); return(BAD_DRC) ; } - if(distance_a_rond(rxf,ryf,w_dist,dx) == BAD_DRC) + if(TestMarginToCircle(rxf,ryf,w_dist,dx) == BAD_DRC) { NumberOfErrors++; if(show_err) @@ -618,7 +725,7 @@ wxPoint shape_pos; } /*****************************************************************************/ -static bool TestPadDrc(WinEDA_BasePcbFrame *frame, wxDC * DC, D_PAD * pad_ref, +static bool Test_Pad_to_Pads_Drc(WinEDA_BasePcbFrame *frame, wxDC * DC, D_PAD * pad_ref, LISTE_PAD * start_buffer, LISTE_PAD * end_buffer, int max_size, bool show_err) /*****************************************************************************/ /* Teste l'isolation de pad_ref avec les autres pads. @@ -652,9 +759,8 @@ LISTE_PAD * pad_list = start_buffer; /* pas de pb si les pads sont du meme module et de la meme reference ( pads multiples ) */ - if ( (pad->m_Parent == pad_ref->m_Parent) && - (strncmp(pad->m_Padname, pad_ref->m_Padname, 4 ) == 0) ) - continue; + if ( (pad->m_Parent == pad_ref->m_Parent) && (pad->m_NumPadName == pad_ref->m_NumPadName) ) + continue; if( Pad_to_Pad_Isol(pad_ref, pad, g_DesignSettings.m_TrackClearence) == OK_DRC ) continue ; else /* defaut d'isolation trouve */ @@ -671,19 +777,23 @@ LISTE_PAD * pad_list = start_buffer; /**************************************************************************************/ static int Pad_to_Pad_Isol(D_PAD * pad_ref, D_PAD * pad, const int dist_min) /***************************************************************************************/ -/* Return OK_DRC si distance entre pad_ref et pas >= dist_min -et BAD_DRC sinon */ +/* Return OK_DRC si clearance between pad_ref and pad is >= dist_min + or BAD_DRC if not */ { wxPoint rel_pos; int dist, diag; wxPoint shape_pos; - +int pad_angle; + rel_pos = pad->ReturnShapePos(); shape_pos = pad_ref->ReturnShapePos(); + // rel_pos is pad position relative to the pad_ref position rel_pos.x -= shape_pos.x; rel_pos.y -= shape_pos.y; dist = (int) hypot( (double) rel_pos.x, (double) rel_pos.y); + diag = OK_DRC; + /* tst rapide: si les cercles exinscrits sont distants de dist_min au moins, il n'y a pas de risque: */ if ( (dist - pad_ref->m_Rayon - pad->m_Rayon) >= dist_min ) @@ -691,7 +801,14 @@ wxPoint shape_pos; /* Ici les pads sont proches et les cercles exinxcrits sont trop proches Selon les formes relatives il peut y avoir ou non erreur */ + + bool swap_pads = false; if ( (pad_ref->m_PadShape != CIRCLE) && (pad->m_PadShape == CIRCLE) ) + swap_pads = true; + else if ( (pad_ref->m_PadShape != OVALE) && (pad->m_PadShape == OVALE) ) + swap_pads = true; + + if ( swap_pads ) { EXCHG (pad_ref, pad); rel_pos.x = - rel_pos.x; @@ -700,30 +817,82 @@ wxPoint shape_pos; switch (pad_ref->m_PadShape) { - case CIRCLE: // pad_ref est assimile a un segment de longeur nulle + case CIRCLE: // pad_ref is like a track segment with a null lenght segm_long = 0; segm_angle = 0; finx = finy = 0; spot_cX = rel_pos.x; spot_cY = rel_pos.y; - diag = distance_a_pad(pad, pad_ref->m_Rayon, dist_min ); + diag = TestClearanceSegmToPad(pad, pad_ref->m_Rayon, dist_min ); break; case RECT: - case OVALE : + RotatePoint(&rel_pos.x, &rel_pos.y, pad_ref->m_Orient); + pad_angle = pad_ref->m_Orient + pad->m_Orient; // pad_angle = pad orient relative to the pad_ref orient + NORMALIZE_ANGLE_POS(pad_angle); + if ( pad->m_PadShape == RECT ) + { + wxSize size = pad->m_Size; + if ( (pad_angle == 0) || (pad_angle == 900) || (pad_angle == 1800) || (pad_angle == 2700)) + { + if ( (pad_angle == 900) || (pad_angle == 2700) ) + { + EXCHG(size.x, size.y ); + } + // Test DRC: + diag = BAD_DRC; + rel_pos.x = ABS(rel_pos.x); rel_pos.y = ABS(rel_pos.y); + if ( (rel_pos.x - ((size.x + pad_ref->m_Size.x)/2) ) >= dist_min ) + diag = OK_DRC; + if ( (rel_pos.y - ((size.y + pad_ref->m_Size.y)/2) ) >= dist_min ) + diag = OK_DRC; + } + + else // Any other orient + { /* TODO : any orient ... */ + } + } + break; + + case OVALE: /* an oval pad is like a track segment */ + { + /* Create and test a track segment with same dimensions */ + int segm_width; + segm_angle = pad_ref->m_Orient; // Segment orient. + if ( pad_ref->m_Size.y < pad_ref->m_Size.x ) /* We suppose the pad is an horizontal oval */ + { + segm_width = pad_ref->m_Size.y; + segm_long = pad_ref->m_Size.x - pad_ref->m_Size.y; + } + else // it was a vertical oval, change to a rotated horizontal one + { + segm_width = pad_ref->m_Size.x; + segm_long = pad_ref->m_Size.y - pad_ref->m_Size.x; + segm_angle += 900; + } + /* the start point must be 0,0 and currently rel_pos is relative the center of pad coordinate */ + int sx = - segm_long /2, sy = 0; // Start point coordinate of the horizontal equivalent segment + RotatePoint(&sx, &sy, segm_angle); // True start point coordinate of the equivalent segment + spot_cX = rel_pos.x + sx; + spot_cY = rel_pos.y + sy; // pad position / segment origin + finx = - sx; + finy = - sy; // end of segment coordinate + diag = TestClearanceSegmToPad(pad, segm_width/2, dist_min); + break; + } + default: /* TODO...*/ - diag = OK_DRC; break; } return diag; } /***************************************************************************/ -static int distance_a_pad(const D_PAD* pad_to_test, int w_segm, int dist_min) +static int TestClearanceSegmToPad(const D_PAD* pad_to_test, int w_segm, int dist_min) /****************************************************************************/ /* - Routine adaptee de la "distance()" (LOCATE.CC) + Routine adaptee de la "distance()" (LOCATE.CPP) teste la distance du pad au segment de droite en cours retourne: @@ -757,7 +926,7 @@ int deltay; /* calcul des coord centre du pad dans le repere axe X confondu avec le segment en tst */ RotatePoint(&spot_cX, &spot_cY, segm_angle); - return (distance_a_rond(spot_cX, spot_cY, seuil+p_dimx, segm_long)); + return (TestMarginToCircle(spot_cX, spot_cY, seuil+p_dimx, segm_long)); } else { @@ -805,14 +974,14 @@ int deltay; y0 = spot_cY + deltay; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0,y0,p_dimx + seuil, segm_long); + bflag = TestMarginToCircle(x0,y0,p_dimx + seuil, segm_long); if( bflag == BAD_DRC) return(BAD_DRC); x0 = spot_cX; /* x0,y0 = centre du cercle inferieur du pad ovale */ y0 = spot_cY - deltay; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0,y0,p_dimx + seuil, segm_long); + bflag = TestMarginToCircle(x0,y0,p_dimx + seuil, segm_long); if( bflag == BAD_DRC) return(BAD_DRC); break; @@ -847,7 +1016,7 @@ int deltay; y0 = spot_cY - p_dimy; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0, y0, seuil, segm_long); + bflag = TestMarginToCircle(x0, y0, seuil, segm_long); if( bflag == BAD_DRC) { return(BAD_DRC); @@ -858,7 +1027,7 @@ int deltay; y0 = spot_cY - p_dimy; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0, y0, seuil, segm_long); + bflag = TestMarginToCircle(x0, y0, seuil, segm_long); if( bflag == BAD_DRC) { return(BAD_DRC); @@ -869,7 +1038,7 @@ int deltay; y0 = spot_cY + p_dimy; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0, y0, seuil, segm_long); + bflag = TestMarginToCircle(x0, y0, seuil, segm_long); if( bflag == BAD_DRC) { return(BAD_DRC); @@ -880,7 +1049,7 @@ int deltay; y0 = spot_cY + p_dimy; RotatePoint(&x0,&y0, spot_cX, spot_cY, orient); RotatePoint(&x0,&y0, segm_angle); - bflag = distance_a_rond(x0, y0, seuil, segm_long); + bflag = TestMarginToCircle(x0, y0, seuil, segm_long); if( bflag == BAD_DRC) { return(BAD_DRC); @@ -894,10 +1063,10 @@ int deltay; } /*******************************************************************/ -static int distance_a_rond(int cx, int cy, int rayon, int longueur ) +static int TestMarginToCircle(int cx, int cy, int rayon, int longueur ) /*******************************************************************/ /* - Routine analogue a distance_a_pad. + Routine analogue a TestClearanceSegmToPad. Calcul de la distance d'un cercle (via ronde, extremite de piste) au segment de droite en cours de controle (segment de reference dans son repere ) diff --git a/pcbnew/drc_dialog.pjd b/pcbnew/drc_dialog.pjd new file mode 100644 index 0000000000..75d4eba6e1 --- /dev/null +++ b/pcbnew/drc_dialog.pjd @@ -0,0 +1,1298 @@ + + +
+ 0 + "" + "" + "" + "" + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + " /// %BODY% +" + " +/*! + * %BODY% + */ + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "utf-8" + "<System>" + "" + 0 + 0 + 4 + " " + "" + 0 + 0 + 1 + 1 + 1 + 0 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 1 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "DRC Control" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "27/4/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "" + 0 + "wxEVT_CLOSE_WINDOW|OnCloseWindow|NONE||" + "ID_DIALOG" + 10000 + "WinEDA_DrcFrame" + "wxDialog" + "wxDialog" + "dialog_drc.cpp" + "dialog_drc.h" + "" + "DRC Control" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + 0 + "" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Vertical" + "m_MainSizer" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbBoxSizerProxy" + "Horizontal" + "m_CommandSizer" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Options" + "" + "" + "" + "" + 0 + 1 + "wxStaticBox" + "Vertical" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "wxStaticText" + 1 + 0 + "" + "" + "m_ClearenceTitle" + "Clearance" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL1" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL1" + 10002 + "wxTextCtrl" + "wxTextCtrl" + 1 + 0 + "" + "" + "m_SetClearance" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbSpacerProxy" + 5 + 5 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxStaticBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbStaticBoxSizerProxy" + "wxID_ANY" + -1 + "Test Drc:" + "" + "" + "" + "" + 0 + 1 + "wxStaticBox" + "Vertical" + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxCheckBox: ID_CHECKBOX_PAD2PAD" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbCheckBoxProxy" + "ID_CHECKBOX_PAD2PAD" + 10009 + "wxCheckBox" + "wxCheckBox" + 1 + 0 + "" + "" + "m_Pad2PadTestCtrl" + "Include pad to pad test" + 0 + "" + "" + "s_Pad2PadTestOpt" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbCheckBoxProxy" + "ID_CHECKBOX" + 10008 + "wxCheckBox" + "wxCheckBox" + 1 + 0 + "" + "" + "m_UnconnectedTestCtrl" + "Include unconnected" + 0 + "" + "" + "s_UnconnectedTestOpt" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxCheckBox: ID_CHECKBOX_TEST_ZONES" + "dialog-control-document" + "" + "checkbox" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbCheckBoxProxy" + "ID_CHECKBOX_TEST_ZONES" + 10007 + "wxCheckBox" + "wxCheckBox" + 1 + 0 + "" + "" + "m_ZonesTestCtrl" + "Include zones" + 0 + "" + "" + "s_ZonesTestOpt" + "wxGenericValidator(& %VARIABLE%)" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_DRC_RUN" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnDrcRunClick" + "ID_DRC_RUN" + 10003 + "wxButton" + "wxButton" + 1 + 0 + "" + "" + "" + "Test Drc" + 0 + "" + "" + "" + "CA0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_STOP_CONTROL_DRC" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnStopControlDrcClick" + "ID_STOP_CONTROL_DRC" + 10004 + "wxButton" + "wxButton" + 1 + 0 + "" + "" + "" + "Stop Drc" + 0 + "" + "" + "" + "008080" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_ERASE_DRC_MARKERS" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnEraseDrcMarkersClick" + "ID_ERASE_DRC_MARKERS" + 10005 + "wxButton" + "wxButton" + 1 + 0 + "" + "" + "" + "Del Markers" + 0 + "" + "" + "" + "008000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_LIST_UNCONNECTED_PADS" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnListUnconnectedPadsClick" + "ID_LIST_UNCONNECTED_PADS" + 10006 + "wxButton" + "wxButton" + 1 + 0 + "" + "" + "" + "List Unconn" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxButton: wxID_CLOSE" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "30/7/2007" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCloseClick" + "wxID_CLOSE" + 5001 + "wxButton" + "wxButton" + 1 + 0 + "" + "" + "" + "&Close" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "wxStaticText" + 1 + 0 + "" + "" + "" + "Messages:" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "27/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10001 + "wxTextCtrl" + "wxTextCtrl" + 1 + 0 + "" + "" + "m_logWindow" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + 200 + "Expand" + "Expand" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "erc_dialog.rc" + "source-editor-document" + "erc_dialog.rc" + "source-editor" + 0 + 0 + 1 + 0 + "27/4/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/find.pjd b/pcbnew/find.pjd new file mode 100644 index 0000000000..b6358d8961 --- /dev/null +++ b/pcbnew/find.pjd @@ -0,0 +1,676 @@ + + +
+ 0 + "" + "" + "" + "" + 18 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Find" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_PcbFindFrame" + "wxDialog" + "wxDialog" + "find.cpp" + "find.h" + "" + "Find" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Vertical" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "Item to find:" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10001 + "wxTextCtrl" + "m_NewText" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbBoxSizerProxy" + "Horizontal" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_FIND_ITEM" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnFindItemClick" + "ID_FIND_ITEM" + 10002 + "wxButton" + "" + "Find Item" + 1 + "" + "" + "" + "660000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_FIND_NEXT_ITEM" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnFindNextItemClick" + "ID_FIND_NEXT_ITEM" + 10003 + "wxButton" + "" + "Find Next Item" + 0 + "" + "" + "" + "6F0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_FIND_MARKER" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnFindMarkerClick" + "ID_FIND_MARKER" + 10004 + "wxButton" + "" + "Find Marker" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_FIND_NEXT_MARKER" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "4/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnFindNextMarkerClick" + "ID_FIND_NEXT_MARKER" + 10005 + "wxButton" + "" + "Find Next Marker" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "find.rc" + "source-editor-document" + "find.rc" + "source-editor" + 0 + 0 + 1 + 0 + "4/3/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/initpcb.cpp b/pcbnew/initpcb.cpp index 27334f8bd7..5c92b6a4c3 100644 --- a/pcbnew/initpcb.cpp +++ b/pcbnew/initpcb.cpp @@ -90,7 +90,7 @@ wxClientDC dc(m_Parent->DrawPanel); if ( m_DelMarkers->GetValue() ) { - m_Parent->Erase_Marqueurs(&dc, FALSE); + m_Parent->Erase_Marqueurs(); redraw = TRUE; } @@ -335,18 +335,18 @@ EDA_BaseStruct * PtStruct, *PtNext; } -/************************************************************/ -void WinEDA_PcbFrame::Erase_Marqueurs(wxDC * DC, bool query) -/************************************************************/ +/*******************************************/ +void WinEDA_PcbFrame::Erase_Marqueurs(void) +/*******************************************/ { EDA_BaseStruct * PtStruct, *PtNext; PtStruct = m_Pcb->m_Drawings; for( ; PtStruct != NULL; PtStruct = PtNext) - { + { PtNext = PtStruct->Pnext; if(PtStruct->m_StructType == TYPEMARQUEUR ) DeleteStructure(PtStruct); - } + } GetScreen()->SetModify(); } diff --git a/pcbnew/router.cpp b/pcbnew/router.cpp index cc7d49f70f..90b13476f0 100644 --- a/pcbnew/router.cpp +++ b/pcbnew/router.cpp @@ -70,6 +70,7 @@ int net_number; Compile_Ratsnest(DC, TRUE); m_Pcb->ComputeBoundaryBox(); + g_GridRoutingSize = GetScreen()->GetGrid().x; // Sortie de la dimension hors tout du pcb (dimensions + marge + g_GridRoutingSize) #define B_MARGE 1000 // en 1/10000 inch diff --git a/pcbnew/set_grid.pjd b/pcbnew/set_grid.pjd new file mode 100644 index 0000000000..b968a10ba9 --- /dev/null +++ b/pcbnew/set_grid.pjd @@ -0,0 +1,813 @@ + + +
+ 0 + "" + "" + "" + "" + 19 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "License GNU" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 0 + 4 + "" + 0 + 0 + 1 + 1 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "User Grid Size" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_PcbGridFrame" + "wxDialog" + "wxDialog" + "set_grid.cpp" + "set_grid.h" + "" + "User Grid Size" + 0 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX" + 10001 + "wxRadioBox" + "m_UnitGrid" + "Grid Size Units" + 1 + "Inches|mm" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "User Grid Size X" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10002 + "wxTextCtrl" + "m_OptGridSizeX" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "" + "User Grid Size Y" + -1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL1" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL1" + 10003 + "wxTextCtrl" + "m_OptGridSizeY" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: wxID_OK" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick" + "wxID_OK" + 5100 + "wxButton" + "" + "&OK" + 1 + "" + "" + "" + "CA0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "26/3/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Centre" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "set_grid.rc" + "source-editor-document" + "set_grid.rc" + "source-editor" + 0 + 0 + 1 + 0 + "26/3/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +
diff --git a/pcbnew/zones.pjd b/pcbnew/zones.pjd new file mode 100644 index 0000000000..313eafec18 --- /dev/null +++ b/pcbnew/zones.pjd @@ -0,0 +1,893 @@ + + +
+ 0 + "" + "" + "" + "" + 23 + "" + 0 + 0 + 0 + 1 + 1 + 0 + "jean-pierre Charras" + "GNU License" + "" + 0 + "<All platforms>" + "<Any>" + "///////////////////////////////////////////////////////////////////////////// +// Name: %HEADER-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SOURCE-FILENAME% +// Purpose: +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + " +/*! + * %BODY% + */ + +" + "///////////////////////////////////////////////////////////////////////////// +// Name: %SYMBOLS-FILENAME% +// Purpose: Symbols file +// Author: %AUTHOR% +// Modified by: +// Created: %DATE% +// RCS-ID: +// Copyright: %COPYRIGHT% +// Licence: +///////////////////////////////////////////////////////////////////////////// + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "%HEADER-FILENAME%" +#endif + +" + "#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma implementation "%HEADER-FILENAME%" +#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 + +" + "app_resources.h" + "app_resources.cpp" + "AppResources" + "app.h" + "app.cpp" + "Application" + 0 + "" + "<None>" + "<System>" + "<System>" + "" + 0 + 1 + 1 +
+ + + "" + "data-document" + "" + "" + 0 + 1 + 0 + 0 + + "Configurations" + "config-data-document" + "" + "" + 0 + 1 + 0 + 0 + "" + 1 + "" + "Debug" + "ANSI" + "Static" + "Modular" + "GUI" + "wxMSW" + "Dynamic" + "Yes" + "No" + "No" + "%WXVERSION%" + "%EXECUTABLE%" + "" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + "%AUTO%" + + + + + + + "Projects" + "root-document" + "" + "project" + 1 + 1 + 0 + 0 + + "Windows" + "html-document" + "" + "dialogsfolder" + 1 + 1 + 0 + 1 + + "Fill Zones Options" + "dialog-document" + "" + "dialog" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbDialogProxy" + 10000 + 0 + "" + 0 + "ID_DIALOG" + 10000 + "WinEDA_ZoneFrame" + "wxDialog" + "wxDialog" + "zones.cpp" + "zones.h" + "" + "Fill Zones Options" + 1 + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + "" + 0 + 1 + -1 + -1 + 400 + 300 + "" + + "wxBoxSizer H" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "wbBoxSizerProxy" + "Horizontal" + "" + 0 + 0 + 0 + "<Any platform>" + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX" + 10001 + "wxRadioBox" + "m_GridCtrl" + "Grid size:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "0.00000|0.00000|0.00000|0.00000" + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxStaticText: wxID_STATIC" + "dialog-control-document" + "" + "statictext" + 0 + 1 + 0 + 0 + "25/12/2006" + "wbStaticTextProxy" + "wxID_STATIC" + 5105 + "wxStaticText" + "m_ClearanceValueTitle" + "Zone clearance value (mm):" + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + "" + "" + + + "wxTextCtrl: ID_TEXTCTRL" + "dialog-control-document" + "" + "textctrl" + 0 + 1 + 0 + 0 + "25/12/2006" + "wbTextCtrlProxy" + "ID_TEXTCTRL" + 10006 + "wxTextCtrl" + "m_ZoneClearanceCtrl" + "" + 0 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxRadioBox: ID_RADIOBOX1" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX1" + 10004 + "wxRadioBox" + "m_FillOpt" + "Pad options:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Include Pads|Thermal|Exclude Pads" + 0 + "" + -1 + -1 + -1 + -1 + "Left" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxRadioBox: ID_RADIOBOX2" + "dialog-control-document" + "" + "radiobox" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbRadioBoxProxy" + "ID_RADIOBOX2" + 10005 + "wxRadioBox" + "m_OrientEdgesOpt" + "Zone edges orient:" + 1 + "" + "" + "" + "" + "" + 0 + 1 + "<Any platform>" + "" + "" + 0 + 1 + "Any|H , V and 45 deg" + 0 + "" + -1 + -1 + -1 + -1 + "Right" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + "wxBoxSizer V" + "dialog-control-document" + "" + "sizer" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbBoxSizerProxy" + "Vertical" + "" + "Centre" + "Top" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + "wxButton: ID_FILL_ZONE" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|ExecFillZone" + "ID_FILL_ZONE" + 10002 + "wxButton" + "" + "Fill" + 1 + "" + "" + "" + "CC0000" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: wxID_CANCEL" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick" + "wxID_CANCEL" + 5101 + "wxButton" + "" + "&Cancel" + 0 + "" + "" + "" + "0000FF" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + "wxButton: ID_SET_OPTIONS_ZONE" + "dialog-control-document" + "" + "dialogcontrol" + 0 + 1 + 0 + 0 + "25/4/2006" + "wbButtonProxy" + "wxEVT_COMMAND_BUTTON_CLICKED|ExecFillZone" + "ID_SET_OPTIONS_ZONE" + 10003 + "wxButton" + "" + "Update Options" + 0 + "" + "" + "" + "006400" + "" + 0 + 1 + "<Any platform>" + 0 + 0 + 0 + 0 + 0 + 0 + 0 + "" + -1 + -1 + -1 + -1 + "Expand" + "Centre" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "" + "" + + + + "Spacer" + "dialog-control-document" + "" + "spacer" + 0 + 1 + 0 + 0 + "25/9/2006" + "wbSpacerProxy" + 5 + 5 + "Centre" + "Expand" + 0 + 5 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + "<Any platform>" + + + + + + "Sources" + "html-document" + "" + "sourcesfolder" + 1 + 1 + 0 + 1 + + "zones.rc" + "source-editor-document" + "zones.rc" + "source-editor" + 0 + 0 + 1 + 0 + "25/4/2006" + "" + + + + "Images" + "html-document" + "" + "bitmapsfolder" + 1 + 1 + 0 + 1 + + + + +