From f4eeb4dfd6677542eda551d6814f9d44b445d456 Mon Sep 17 00:00:00 2001 From: charras Date: Wed, 23 Sep 2009 05:53:12 +0000 Subject: [PATCH] fixed problem in modedit when creating a new footprint. Minor others changes --- common/about_kicad.cpp | 2 +- eeschema/class_libentry.cpp | 6 +- internat/fr/kicad.mo | Bin 190601 -> 192720 bytes internat/fr/kicad.po | 96 ++++++++++---------------- pcbnew/class_board.cpp | 3 +- pcbnew/class_board_connected_item.cpp | 18 +++++ pcbnew/class_pad.cpp | 16 +++-- pcbnew/dialog_design_rules.cpp | 28 ++++++++ pcbnew/dialog_design_rules.h | 1 + pcbnew/librairi.cpp | 2 +- pcbnew/loadcmp.cpp | 2 +- pcbnew/modedit.cpp | 4 ++ 12 files changed, 103 insertions(+), 75 deletions(-) diff --git a/common/about_kicad.cpp b/common/about_kicad.cpp index 48ddc49400..7ffd1c6004 100644 --- a/common/about_kicad.cpp +++ b/common/about_kicad.cpp @@ -8,7 +8,7 @@ #include "appl_wxstruct.h" -#define BUILD_VERSION "(20090910-unstable)" +#define BUILD_VERSION "(20090921-unstable)" #ifdef HAVE_SVN_VERSION diff --git a/eeschema/class_libentry.cpp b/eeschema/class_libentry.cpp index eaf9ed0ffa..5c5372bce8 100644 --- a/eeschema/class_libentry.cpp +++ b/eeschema/class_libentry.cpp @@ -549,7 +549,7 @@ bool LIB_COMPONENT::Load( FILE* file, char* line, int* lineNum, if( strcmp( p, "DEF" ) != 0 ) { - errorMsg.Printf( _( "DEF command expected in line %d, aborted." ), + errorMsg.Printf( wxT( "DEF command expected in line %d, aborted." ), *lineNum ); return false; } @@ -704,14 +704,14 @@ bool LIB_COMPONENT::LoadDrawEntries( FILE* f, char* line, break; default: - errorMsg.Printf( _( "undefined DRAW command %c" ), line[0] ); + errorMsg.Printf( wxT( "undefined DRAW command %c" ), line[0] ); m_Drawings = headEntry; return false; } if( !newEntry->Load( line, errorMsg ) ) { - errorMsg.Printf( _( "error <%s> in DRAW command %c" ), + errorMsg.Printf( wxT( "error <%s> in DRAW command %c" ), ( const wxChar* ) errorMsg, line[0] ); SAFE_DELETE( newEntry ); diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 4577b6b4977a5999672414f737d18540cb1652a4..a58504a998763aa775e4d60a2aaf9ec557251ff5 100644 GIT binary patch delta 61202 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 Db(f-` diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 35b2198936..5959fec8c3 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-18 20:34+0100\n" -"PO-Revision-Date: 2009-09-18 20:38+0100\n" +"POT-Creation-Date: 2009-09-21 19:56+0100\n" +"PO-Revision-Date: 2009-09-21 19:59+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -4820,7 +4820,7 @@ msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon" #: pcbnew/dialog_design_rules.cpp:640 #, c-format msgid "%s: Via DrillVia Dia
" -msgstr "" +msgstr "%s: Perçage ViaDiam Via
" #: pcbnew/dialog_print_using_printer_base.cpp:35 msgid "Exclude Edges_Pcb Layer" @@ -5835,31 +5835,28 @@ msgid "Default" msgstr "Défaut" #: pcbnew/dialog_design_rules_base.cpp:59 -#, fuzzy msgid "Net Class parameters" -msgstr "Classes d'Equipots." +msgstr "Paramètres de NeClass" #: pcbnew/dialog_design_rules_base.cpp:68 msgid "Add another Net Class" -msgstr "" +msgstr "Ajouter une autre NetClass" #: pcbnew/dialog_design_rules_base.cpp:73 -#, fuzzy msgid "Remove the currently select Net Class" -msgstr "Le texte (ou la valeur) du champ actuellement sélectionné" +msgstr "Supprimer la NetClass actuellement sélectionnée" #: pcbnew/dialog_design_rules_base.cpp:77 msgid "Move Up" msgstr "Vers le haut ^" #: pcbnew/dialog_design_rules_base.cpp:78 -#, fuzzy msgid "Move the currently selected Net Class up one row" -msgstr "Déplacer le champ optionnel sélectionné de une position vers le haut" +msgstr "Déplacer la NetClassl sélectionné de une ligne vers le haut" #: pcbnew/dialog_design_rules_base.cpp:87 msgid "Membership:" -msgstr "" +msgstr "Membres:" #: pcbnew/dialog_design_rules_base.cpp:107 msgid "<<<" @@ -5999,9 +5996,8 @@ msgid "Export current drawing" msgstr "Exporter le dessin en cours" #: eeschema/tool_lib.cpp:104 -#, fuzzy msgid "Save current library to disk" -msgstr "Sauver le C.I. actuel" +msgstr "Sauver la librairie courante sur disque" #: eeschema/tool_lib.cpp:112 msgid "Delete component in current library" @@ -6016,9 +6012,8 @@ msgid "Select component to edit" msgstr "Sélectionner le composant à éditer" #: eeschema/tool_lib.cpp:125 -#, fuzzy msgid "Update current component in current library" -msgstr "Supprimer composant en librairie de travail" +msgstr "Mettre à jour le composant courant en librairie de travail" #: eeschema/tool_lib.cpp:128 msgid "Import component" @@ -6029,9 +6024,8 @@ msgid "Export component" msgstr "Exporter composant" #: eeschema/tool_lib.cpp:135 -#, fuzzy msgid "Save current component to new library" -msgstr "Sauver le composant courant en librairie courante (en mémoire)" +msgstr "Sauver le composant courant dans une nouvelle librairie" #: eeschema/tool_lib.cpp:138 msgid "Undo last command" @@ -6528,9 +6522,8 @@ msgid "none selected" msgstr "Pas de sélection" #: eeschema/viewlibs.cpp:317 -#, fuzzy msgid "Part" -msgstr "Composant %c" +msgstr "Part" #: eeschema/viewlibs.cpp:318 msgid "Alias" @@ -6557,9 +6550,9 @@ msgid "Background Color:" msgstr "Couleur du Fond:" #: eeschema/edit_component_in_lib.cpp:155 -#, fuzzy, c-format +#, c-format msgid "Alias <%s> not found for component <%s> in library <%s>." -msgstr "Element <%s> non trouvé en librairie <%s>." +msgstr "Alias <%s> non trouvé pour le component <%s> en librairie <%s>." #: eeschema/edit_component_in_lib.cpp:159 msgid "Component Library Error" @@ -6569,11 +6562,11 @@ msgstr "Erreur en Librairie de Composanr" #: eeschema/edit_component_in_lib.cpp:343 #, c-format msgid "Alias <%s> cannot be removed while it is being edited!" -msgstr "" +msgstr "L'alias <%s> ne peut être supprimé tant qu'il est en cours d'édition!" #: eeschema/edit_component_in_lib.cpp:285 msgid "Remove all aliases from list?" -msgstr "" +msgstr "Supprimer tous les alias de la liste?" #: eeschema/edit_component_in_lib.cpp:308 msgid "New alias:" @@ -6584,9 +6577,9 @@ msgid "Component Alias" msgstr "Alias de Composant" #: eeschema/edit_component_in_lib.cpp:318 -#, fuzzy, c-format +#, c-format msgid "Alias or component name <%s> already exists in library <%s>." -msgstr "Composant %s sauvé en librairie %s" +msgstr "Alias ou nom de composant <%s> déjà existant en librairie <%s>." #: eeschema/edit_component_in_lib.cpp:396 msgid "Delete units" @@ -6955,9 +6948,9 @@ msgid "Please select a component library." msgstr "SVP sélectionner une librairie de composants." #: eeschema/libedit.cpp:389 -#, fuzzy, c-format +#, c-format msgid "Component library <%s> is empty." -msgstr "Fichier document de composants <%s> vide" +msgstr "Fichier librairie de composants <%s> vide" #: eeschema/libedit.cpp:391 #, fuzzy @@ -8297,11 +8290,6 @@ msgstr "" msgid "User defined search path" msgstr "Chemin de recherche défini par l'utilisateur" -#: eeschema/class_libentry.cpp:552 -#, c-format -msgid "DEF command expected in line %d, aborted." -msgstr "" - #: eeschema/class_libentry.cpp:574 #, c-format msgid "Wrong DEF format in line %d, skipped." @@ -8311,16 +8299,6 @@ msgstr "" msgid "file ended prematurely loading component draw element" msgstr "" -#: eeschema/class_libentry.cpp:707 -#, c-format -msgid "undefined DRAW command %c" -msgstr "" - -#: eeschema/class_libentry.cpp:714 -#, c-format -msgid "error <%s> in DRAW command %c" -msgstr "" - #: eeschema/class_libentry.cpp:723 msgid "file ended prematurely while attempting to flush to end of drawing section." msgstr "" @@ -8639,9 +8617,9 @@ msgid "Import Component" msgstr "Importer Composant" #: eeschema/lib_export.cpp:65 -#, fuzzy, c-format +#, c-format msgid "Component library file <%s> is empty." -msgstr "Fichier document de composants <%s> vide" +msgstr "Le fichier de composants <%s> est vide." #: eeschema/lib_export.cpp:100 msgid "There is no component selected to save." @@ -9031,9 +9009,9 @@ msgid "Component library <%s> has duplicate entry name <%s>. This may cause som msgstr "" #: eeschema/class_library.cpp:184 -#, fuzzy, c-format +#, c-format msgid "Cannot add duplicate alias <%s> to library <%s>." -msgstr "Ne peut créer une copie de l'élément <%s> en librairie <%s>." +msgstr "Ne peut ajouter un double de l'alias <%s> en librairie <%s>." #: eeschema/class_library.cpp:223 #, c-format @@ -9041,14 +9019,12 @@ msgid "Conflict in library <%s>: alias <%s> already has root name <%s> and will msgstr "" #: eeschema/class_library.cpp:453 -#, fuzzy msgid "The component library file name is not set." -msgstr "Nom du fichier librairie non sélectionné" +msgstr "Le nom du fichier librairie est non sélectionné." #: eeschema/class_library.cpp:461 -#, fuzzy msgid "The file could not be opened." -msgstr "Fichier d'aide %s non trouvé." +msgstr "Le fichier n'a pas pu être ouvert." #: eeschema/class_library.cpp:467 msgid "The file is empty!" @@ -9077,9 +9053,8 @@ msgid "" msgstr "" #: eeschema/class_library.cpp:539 -#, fuzzy msgid "An error occured attempting to read the header." -msgstr "L'erreur <%s> s'est produite lors du chargement de la librairie de composants <%s>" +msgstr "Une 'erreur s'est produite lors de la lecture de l'entête." #: eeschema/class_library.cpp:569 #, c-format @@ -9969,7 +9944,7 @@ msgstr "Ne peut ouvrir le fichier librairie de modules PCB <%s>." msgid "<%s> is not a valid Kicad PCB foot print library." msgstr "<%s> in'est pas un fichier de module PCB Kicad valide." -#: cvpcb/loadcmp.cpp:137 +#: cvpcb/loadcmp.cpp:136 #, c-format msgid "Module %s not found" msgstr "Module %s non trouvé" @@ -10052,24 +10027,24 @@ msgstr "Cvpcb est en cours d'exécution. Continuer ?" msgid " [no file]" msgstr " [pas de fichier]" -#: cvpcb/displayframe.cpp:124 +#: cvpcb/displayframe.cpp:130 msgid "Display Options" msgstr "Options d'Affichage" -#: cvpcb/displayframe.cpp:130 +#: cvpcb/displayframe.cpp:136 msgid "zoom + (F1)" msgstr "zoom + (F1)" -#: cvpcb/displayframe.cpp:134 +#: cvpcb/displayframe.cpp:140 msgid "zoom - (F2)" msgstr "zoom - (F2)" -#: cvpcb/displayframe.cpp:138 +#: cvpcb/displayframe.cpp:144 msgid "redraw (F3)" msgstr "Redessin (F3)" -#: cvpcb/displayframe.cpp:142 -#: cvpcb/displayframe.cpp:147 +#: cvpcb/displayframe.cpp:148 +#: cvpcb/displayframe.cpp:153 msgid "1:1 zoom" msgstr "1:1 zoom" @@ -11814,9 +11789,8 @@ msgid "Module properties" msgstr "Propriétés du Module" #: pcbnew/dialog_copper_layers_setup_base.h:55 -#, fuzzy msgid "Copper layers setup" -msgstr "Couches Cuivre" +msgstr "Réglage des Couches Cuivre" #: eeschema/dialog_cmp_graphic_properties.h:43 msgid "Graphic shape properties" diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp index ff4cdf1af5..033a76e0cd 100644 --- a/pcbnew/class_board.cpp +++ b/pcbnew/class_board.cpp @@ -30,8 +30,9 @@ BOARD::BOARD( EDA_BaseStruct* parent, WinEDA_BasePcbFrame* frame ) : m_CurrentZoneContour = NULL; // This ZONE_CONTAINER handle the zone contour cuurently in progress m_NetInfo = new NETINFO_LIST( this ); // handle nets info list (name, design constraints .. + m_NetInfo->BuildListOfNets(); // prepare pads and nets lists containers. - for( int layer = 0; layerGetClearance(); } else + { +#ifdef __WXDEBUG__ wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetClearance(): NULL netclass") ); +#endif + } return 0; } @@ -116,15 +124,25 @@ NETCLASS* BOARD_CONNECTED_ITEM::GetNetClass() const if( net ) { NETCLASS* netclass = net->GetNetClass(); +#ifdef __WXDEBUG__ if( netclass == NULL ) wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL netclass") ); +#endif return netclass; } else + { +#ifdef __WXDEBUG__ wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL net") ); +#endif + } } else + { +#ifdef __WXDEBUG__ wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL board, type %d"), Type() ); +#endif + } return NULL; } diff --git a/pcbnew/class_pad.cpp b/pcbnew/class_pad.cpp index b346023529..cdaa9862b1 100644 --- a/pcbnew/class_pad.cpp +++ b/pcbnew/class_pad.cpp @@ -19,21 +19,23 @@ D_PAD::D_PAD( MODULE* parent ) : BOARD_CONNECTED_ITEM( parent, TYPE_PAD ) { m_NumPadName = 0; - m_Masque_Layer = CUIVRE_LAYER; - m_DrillShape = PAD_CIRCLE; // Drill shape = circle - m_Size.x = m_Size.y = 500; + m_Size.x = m_Size.y = 500; // give it a reasonnable size + m_Orient = 0; // Pad rotation in 1/10 degrees if( m_Parent && (m_Parent->Type() == TYPE_MODULE) ) { m_Pos = ( (MODULE*) m_Parent )->GetPosition(); } - m_PadShape = PAD_CIRCLE; // forme CERCLE, PAD_RECT PAD_OVAL PAD_TRAPEZOID ou libre - m_Attribut = PAD_STANDARD; // NORMAL, PAD_SMD, PAD_CONN, Bit 7 = STACK - m_Orient = 0; // en 1/10 degres + m_PadShape = PAD_CIRCLE; // Shape: PAD_CIRCLE, PAD_RECT PAD_OVAL PAD_TRAPEZOID + m_Attribut = PAD_STANDARD; // Type: NORMAL, PAD_SMD, PAD_CONN + m_DrillShape = PAD_CIRCLE; // Drill shape = circle + // these layers are ok for a standard pad: + m_Masque_Layer = ALL_CU_LAYERS | SILKSCREEN_LAYER_CMP |\ + SOLDERMASK_LAYER_CU | SOLDERMASK_LAYER_CMP; - SetSubRatsnest( 0 ); + SetSubRatsnest( 0 ); // used in ratsnest calculations ComputeRayon(); } diff --git a/pcbnew/dialog_design_rules.cpp b/pcbnew/dialog_design_rules.cpp index ff59c5b2e7..a62a997f62 100644 --- a/pcbnew/dialog_design_rules.cpp +++ b/pcbnew/dialog_design_rules.cpp @@ -93,6 +93,30 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( WinEDA_PcbFrame* parent ) : } +/* Display on m_MessagesList the current global settings: + * minimal values for tracks, vias, clearance ... + */ +void DIALOG_DESIGN_RULES::PrintCurrentSettings( ) +{ + wxString msg, value; + int internal_units = m_Parent->m_InternalUnits; + + m_MessagesList->AppendToPage(_("Current general setting:
") ); + + // Display min values: + value = ReturnStringFromValue( g_UnitMetric, g_DesignSettings.m_TrackMinWidth, internal_units, true ); + msg.Printf(_("Minimum value for tracks width: %s
\n"), value.GetData() ); + m_MessagesList->AppendToPage(msg); + value = ReturnStringFromValue( g_UnitMetric, g_DesignSettings.m_ViasMinSize, internal_units, true ); + msg.Printf(_("Minimum value for vias diameter: %s
\n"), value.GetData() ); + m_MessagesList->AppendToPage(msg); + value = ReturnStringFromValue( g_UnitMetric, g_DesignSettings.m_MicroViasMinSize, internal_units, true ); + msg.Printf(_("Minimum value for microvias diameter: %s
\n"), value.GetData() ); + m_MessagesList->AppendToPage(msg); + +} + + /********************************************************************/ void DIALOG_DESIGN_RULES::Init() /********************************************************************/ @@ -117,11 +141,13 @@ void DIALOG_DESIGN_RULES::Init() netclass = netclasses.GetDefault(); + // Initialize list of nets for Default Net Class for( NETCLASS::const_iterator name = netclass->begin(); name != netclass->end(); ++name ) { m_AllNets.push_back( NETCUP( *name, netclass->GetName() ) ); } + // Initialize list of nets for others (custom) Net Classes for( NETCLASSES::const_iterator nc = netclasses.begin(); nc != netclasses.end(); ++nc ) { netclass = nc->second; @@ -133,6 +159,8 @@ void DIALOG_DESIGN_RULES::Init() } InitializeRulesSelectionBoxes(); + + PrintCurrentSettings( ); } // Sort comparison function diff --git a/pcbnew/dialog_design_rules.h b/pcbnew/dialog_design_rules.h index f57d3abbb3..ec50cf2c10 100644 --- a/pcbnew/dialog_design_rules.h +++ b/pcbnew/dialog_design_rules.h @@ -65,6 +65,7 @@ private: void CopyRulesListToBoard(); void SetRoutableLayerStatus(); void FillListBoxWithNetNames( wxListCtrl* aListCtrl, const wxString& aNetClass ); + void PrintCurrentSettings( ); /** * Function swapNetClass diff --git a/pcbnew/librairi.cpp b/pcbnew/librairi.cpp index bb9edb6e9b..1ba372b006 100644 --- a/pcbnew/librairi.cpp +++ b/pcbnew/librairi.cpp @@ -705,7 +705,7 @@ int WinEDA_BasePcbFrame::Save_Module_In_Library( const wxString& aLibName, MODULE* WinEDA_BasePcbFrame::Create_1_Module( wxDC* DC, const wxString& module_name ) /************************************************************************************/ -/* Create a new module or footprint : A new module is tartted with 2 texts : +/* Create a new module or footprint : A new module contains 2 texts : * First = REFERENCE * Second = VALUE: "VAL**" * the new module is added on begining of the linked list of modules diff --git a/pcbnew/loadcmp.cpp b/pcbnew/loadcmp.cpp index 41bb6cd880..d3bca71612 100644 --- a/pcbnew/loadcmp.cpp +++ b/pcbnew/loadcmp.cpp @@ -165,7 +165,7 @@ MODULE* WinEDA_BasePcbFrame::Load_Module_From_Library( const wxString& library, module->SetPosition( curspos ); /* TODO: call RecalculateAllTracksNetcode() only if some pads pads have * a netname. - * If all pads are "not connected (usually the caes in module libraries, + * If all pads are not connected (usually the case in module libraries, * rebuild only the pad and list of nets ( faster) */ // GetBoard()->m_Pcb->m_NetInfo->BuildListOfNets(); diff --git a/pcbnew/modedit.cpp b/pcbnew/modedit.cpp index 5c81c5c3ae..604b272d44 100644 --- a/pcbnew/modedit.cpp +++ b/pcbnew/modedit.cpp @@ -223,6 +223,10 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) MODULE* module = Create_1_Module( NULL, wxEmptyString ); if( module ) // i.e. if create module command not aborted { + // Initialize data relative to nets and netclasses (for a new module + // the defaults are used) + // This is mandatory to handle and draw pads + GetBoard()->m_NetInfo->BuildListOfNets(); redraw = true; module->SetPosition( wxPoint( 0, 0 ) ); if( GetBoard()->m_Modules )