From 555b1c5ad98e1e4795065b34ff79e4e91c24265e Mon Sep 17 00:00:00 2001 From: charras Date: Thu, 21 May 2009 14:59:54 +0000 Subject: [PATCH] code cleaning --- internat/fr/kicad.mo | Bin 183912 -> 184654 bytes internat/fr/kicad.po | 155 +++++++++++++++++++-------------------- pcbnew/CMakeLists.txt | 1 - pcbnew/affiche.cpp | 71 ------------------ pcbnew/class_equipot.cpp | 59 ++++++++++++++- pcbnew/class_equipot.h | 9 +++ pcbnew/ioascii.cpp | 1 + pcbnew/onleftclick.cpp | 6 +- pcbnew/protos.h | 5 -- 9 files changed, 149 insertions(+), 158 deletions(-) delete mode 100644 pcbnew/affiche.cpp diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 74e6c9ad04dea0c0795408ee284ed279f4a2e3a2..9405e07231b94741a9ebbf1973914e71ea539824 100644 GIT binary patch delta 58270 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 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 29917570dd..20cfb73594 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-05-16 20:42+0100\n" -"PO-Revision-Date: 2009-05-16 20:51+0100\n" +"POT-Creation-Date: 2009-05-21 17:31+0100\n" +"PO-Revision-Date: 2009-05-21 17:37+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -357,51 +357,51 @@ msgstr "Le texte est la VALEUR!" msgid "Place module" msgstr "Place module" -#: pcbnew/loadcmp.cpp:209 -#: pcbnew/loadcmp.cpp:360 +#: pcbnew/loadcmp.cpp:210 +#: pcbnew/loadcmp.cpp:361 #, c-format msgid "PCB footprint library file <%s> not found in search paths." msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche" -#: pcbnew/loadcmp.cpp:211 -#: pcbnew/loadcmp.cpp:222 -#: pcbnew/loadcmp.cpp:238 -#: pcbnew/loadcmp.cpp:362 -#: pcbnew/loadcmp.cpp:398 +#: pcbnew/loadcmp.cpp:212 +#: pcbnew/loadcmp.cpp:223 +#: pcbnew/loadcmp.cpp:239 +#: pcbnew/loadcmp.cpp:363 +#: pcbnew/loadcmp.cpp:399 msgid "Library Load Error" msgstr "Erreur en Chargement de librairie" -#: pcbnew/loadcmp.cpp:220 +#: pcbnew/loadcmp.cpp:221 #, c-format msgid "Could not open PCB footprint library file <%s>." msgstr "Ne peu ouvrir le fichier librairie de modules PCB <%s>." -#: pcbnew/loadcmp.cpp:227 +#: pcbnew/loadcmp.cpp:228 #, c-format msgid "Scan Lib: %s" msgstr "Examen Lib: %s" -#: pcbnew/loadcmp.cpp:236 -#: pcbnew/loadcmp.cpp:396 +#: pcbnew/loadcmp.cpp:237 +#: pcbnew/loadcmp.cpp:397 #, c-format msgid "<%s> is not a valid Kicad PCB footprint library file." msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide." -#: pcbnew/loadcmp.cpp:303 +#: pcbnew/loadcmp.cpp:304 #, c-format msgid "Module <%s> not found" msgstr "Module <%s> non trouvé" -#: pcbnew/loadcmp.cpp:387 +#: pcbnew/loadcmp.cpp:388 msgid "Library " msgstr "Librairie " -#: pcbnew/loadcmp.cpp:387 +#: pcbnew/loadcmp.cpp:388 msgid " loaded" msgstr " chargé" -#: pcbnew/loadcmp.cpp:458 -#: pcbnew/loadcmp.cpp:610 +#: pcbnew/loadcmp.cpp:459 +#: pcbnew/loadcmp.cpp:611 #, c-format msgid "Modules [%d items]" msgstr "Modules [%d éléments]" @@ -1287,7 +1287,7 @@ msgstr "Epaisseur Contour" msgid "Incorrect number, no change" msgstr "Nombre incorrect, pas de changement" -#: pcbnew/ioascii.cpp:167 +#: pcbnew/ioascii.cpp:174 msgid "Error: Unexpected end of file !" msgstr "Erreur: Fin de fichier inattendue !" @@ -1493,30 +1493,6 @@ msgstr "Déplacer Modules ?" msgid "Autoplace modules: No board edges detected. Unable to place modules" msgstr "Autoplace modules: Pas de contours sur pcb. Impossible de placer les modules" -#: pcbnew/affiche.cpp:35 -msgid "Net Name" -msgstr "Nom Equipot" - -#: pcbnew/affiche.cpp:37 -msgid "No Net (not connected)" -msgstr "Pas de Net (non connecté)" - -#: pcbnew/affiche.cpp:40 -msgid "Net Code" -msgstr "Net Code" - -#: pcbnew/affiche.cpp:53 -msgid "Pads" -msgstr "Pads" - -#: pcbnew/affiche.cpp:67 -msgid "Vias" -msgstr "Vias" - -#: pcbnew/affiche.cpp:70 -msgid "Net Length" -msgstr "Long. Net" - #: pcbnew/pcbframe.cpp:303 msgid "Board modified, Save before exit ?" msgstr "Circuit Imprimé modifié, Sauver avant de quitter ?" @@ -1762,54 +1738,61 @@ msgstr "N'affiche pas les couches cuivre" msgid "Apply" msgstr "Appliquer" -#: pcbnew/class_track.cpp:868 +#: pcbnew/class_track.cpp:871 #: pcbnew/class_board_item.cpp:173 msgid "Zone" msgstr "Zone" -#: pcbnew/class_track.cpp:876 +#: pcbnew/class_track.cpp:879 msgid "Type" msgstr "Type" -#: pcbnew/class_track.cpp:893 +#: pcbnew/class_track.cpp:896 msgid "NetName" msgstr "NetName" -#: pcbnew/class_track.cpp:899 +#: pcbnew/class_track.cpp:902 msgid "NetCode" msgstr "NetCode" -#: pcbnew/class_track.cpp:904 +#: pcbnew/class_track.cpp:907 msgid "Segment" msgstr "Segment" -#: pcbnew/class_track.cpp:906 +#: pcbnew/class_track.cpp:909 #: pcbnew/class_board_item.cpp:26 msgid "Circle" msgstr "Cercle" -#: pcbnew/class_track.cpp:908 +#: pcbnew/class_track.cpp:911 msgid "Standard" msgstr "Standard" -#: pcbnew/class_track.cpp:916 +#: pcbnew/class_track.cpp:919 msgid "Flags" msgstr "Flags" -#: pcbnew/class_track.cpp:929 +#: pcbnew/class_track.cpp:932 #: pcbnew/class_module.cpp:960 msgid "Stat" msgstr "Stat" -#: pcbnew/class_track.cpp:953 +#: pcbnew/class_track.cpp:957 msgid "Diam" msgstr "Diam" -#: pcbnew/class_track.cpp:960 #: pcbnew/class_track.cpp:965 msgid "Drill" msgstr "Perçage" +#: pcbnew/class_track.cpp:969 +msgid "(Specific)" +msgstr "(Specifique)" + +#: pcbnew/class_track.cpp:971 +msgid "(Default)" +msgstr "(Défaut)" + #: pcbnew/class_module.cpp:930 msgid "Last Change" msgstr "Last Change" @@ -1818,6 +1801,11 @@ msgstr "Last Change" msgid "Netlist path" msgstr "Chemin Netliste " +#: pcbnew/class_module.cpp:952 +#: pcbnew/menubarpcb.cpp:230 +msgid "Pads" +msgstr "Pads" + #: pcbnew/class_module.cpp:967 msgid "Module" msgstr "Module" @@ -2405,15 +2393,15 @@ msgstr "Fichier <%s> non trouvé, Netliste utilisée pour sélection des module msgid "Component [%s]: footprint <%s> not found" msgstr "Composant [%s]: Module <%s> non trouvé en librairie" -#: pcbnew/onleftclick.cpp:179 +#: pcbnew/onleftclick.cpp:183 msgid "Graphic not authorized on Copper layers" msgstr "Graphique non autorisé sur Couches Cuivre" -#: pcbnew/onleftclick.cpp:202 +#: pcbnew/onleftclick.cpp:206 msgid "Tracks on Copper layers only " msgstr "Pistes sur Couches Cuivre seulement" -#: pcbnew/onleftclick.cpp:286 +#: pcbnew/onleftclick.cpp:290 msgid "Cotation not authorized on Copper layers" msgstr "Cotation non autorisée sur Couches Cuivre" @@ -2422,7 +2410,6 @@ msgid "Options" msgstr "Options" #: pcbnew/dialog_drc.cpp:440 -#: pcbnew/dialog_track_options_base.cpp:106 msgid "Clearance" msgstr "Isolation" @@ -2892,6 +2879,22 @@ msgstr "Créer Fichier " msgid " error" msgstr " erreur" +#: pcbnew/class_equipot.cpp:148 +msgid "Net Name" +msgstr "Nom Equipot" + +#: pcbnew/class_equipot.cpp:151 +msgid "Net Code" +msgstr "Net Code" + +#: pcbnew/class_equipot.cpp:180 +msgid "Vias" +msgstr "Vias" + +#: pcbnew/class_equipot.cpp:183 +msgid "Net Length" +msgstr "Long. Net" + #: pcbnew/dialog_track_options_base.cpp:27 msgid "Vias:" msgstr "Vias:" @@ -3929,11 +3932,11 @@ msgstr "Le caractère de délimitation de ligne doit être un seul caractère ' msgid "Un-terminated delimited string" msgstr "Ligne délimitée non terminée" -#: pcbnew/modedit.cpp:274 +#: pcbnew/modedit.cpp:275 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:275 +#: pcbnew/modedit.cpp:276 msgid "" "\n" "Cannot update the footprint" @@ -3941,11 +3944,11 @@ msgstr "" "\n" "Ne peut mettre à jour le module" -#: pcbnew/modedit.cpp:283 +#: pcbnew/modedit.cpp:284 msgid "A footprint source was found on the main board" msgstr "Un module source a été trouvé sur le PCB principal" -#: pcbnew/modedit.cpp:284 +#: pcbnew/modedit.cpp:285 msgid "" "\n" "Cannot insert this footprint" @@ -3953,20 +3956,20 @@ msgstr "" "\n" "Ne peut insérer ce module" -#: pcbnew/modedit.cpp:407 +#: pcbnew/modedit.cpp:409 msgid "Add Pad" msgstr "Ajouter Pastilles" -#: pcbnew/modedit.cpp:410 +#: pcbnew/modedit.cpp:412 #: pcbnew/menubarmodedit.cpp:45 msgid "Pad Settings" msgstr "Caract pads" -#: pcbnew/modedit.cpp:420 +#: pcbnew/modedit.cpp:422 msgid "Add Drawing" msgstr "Ajout d'éléments graphiques" -#: pcbnew/modedit.cpp:424 +#: pcbnew/modedit.cpp:426 msgid "Place anchor" msgstr "Place Ancre" @@ -7254,8 +7257,6 @@ msgid "Reset" msgstr "Défaut" #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:26 -#: eeschema/onrightclick.cpp:329 -#: eeschema/classes_body_items.cpp:72 msgid "Unit" msgstr "Unité" @@ -7360,8 +7361,6 @@ msgid "The name of the symbol in the library from which this component came" msgstr "Le nom du symbole dans la librairie d'où vient le composant." #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:73 -#: eeschema/onrightclick.cpp:316 -#: eeschema/classes_body_items.cpp:82 msgid "Convert" msgstr "Convert" @@ -7374,8 +7373,6 @@ msgstr "" "Pour les portes, ceci est la conversion \"De Morgan\"" #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:79 -#: eeschema/dialog_create_component.cpp:178 -#: eeschema/dialog_edit_component_in_lib.cpp:160 msgid "Parts are locked" msgstr "Les parts sont verrouillées" @@ -7416,12 +7413,10 @@ msgid "Check if you want this field's text rotated 90 degrees" msgstr "Activer si vous voulez avoir le texte de ce champ tourné à 90°" #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:134 -#: eeschema/dialog_edit_label_base.cpp:43 msgid "Bold" msgstr "Gras" #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:134 -#: eeschema/dialog_edit_label_base.cpp:43 msgid "Bold Italic" msgstr "Gras Italique" @@ -8892,6 +8887,8 @@ msgstr "%8.8lX/" #: eeschema/dialog_edit_component_in_schematic.cpp:95 #: eeschema/dialog_edit_component_in_schematic.cpp:100 +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:159 +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:164 msgid "Pos " msgstr "Pos " @@ -9166,7 +9163,7 @@ msgstr "Erreur en Fichier Projet" #: cvpcb/loadcmp.cpp:50 #, c-format msgid "PCB foot print library file <%s> could not be found in the default search paths." -msgstr "" +msgstr "Le fichier librairie de modules PCB <%s> n'a pas pu être trouvé dans les chemins de recherche par défaut." #: cvpcb/listlib.cpp:85 #: cvpcb/loadcmp.cpp:61 @@ -9187,7 +9184,7 @@ msgstr "Fin de fichier inattendue lors de l'analyse de la librairie de modules P #: cvpcb/listlib.cpp:162 #, c-format msgid "Could not open PCB foot print library document file <%s>." -msgstr "" +msgstr "Ne peut pas ouvrir le fichier documentation de module <%s>." #: cvpcb/listlib.cpp:171 #, c-format @@ -9236,7 +9233,7 @@ msgstr " [pas de fichier]" #: cvpcb/autosel.cpp:93 #, c-format msgid "Footprint alias library file <%s> could not be found in the default search paths." -msgstr "" +msgstr "Le fichier d'alias <%s> n'a pas pu être trouvé dans les chemins de recherche par défaut." #: cvpcb/autosel.cpp:106 #, c-format @@ -9361,7 +9358,7 @@ msgstr "Rester Ouvert après Sauvegarde" #: cvpcb/menucfg.cpp:69 msgid "Prevent CVPcb from exiting after saving netlist file" -msgstr "" +msgstr "N'autorise pas la fermeture automatique de Cvpcb après la sauvegarde de la netliste" #: cvpcb/menucfg.cpp:75 msgid "&Save Project File" @@ -11412,6 +11409,8 @@ msgstr "DCodes id." msgid "Page Settings" msgstr "Ajustage opt Page" +#~ msgid "No Net (not connected)" +#~ msgstr "Pas de Net (non connecté)" #~ msgid "Default netlist format" #~ msgstr "Format netlistes par défaut" #~ msgid "Loading schematic component libraries" diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index ae50091ed3..4ebc6f388f 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -7,7 +7,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} # Many of the commented out ones are nested in *.cpp files for dialogs set(PCBNEW_SRCS - affiche.cpp attribut.cpp automove.cpp autoplac.cpp diff --git a/pcbnew/affiche.cpp b/pcbnew/affiche.cpp deleted file mode 100644 index cb1ec5acad..0000000000 --- a/pcbnew/affiche.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/**********************************************************/ -/* Routines d'affichage de parametres et caracteristiques */ -/**********************************************************/ - -#include "fctsys.h" -#include "gr_basic.h" -#include "common.h" -#include "pcbnew.h" -#include "autorout.h" - -#include "3d_struct.h" - -#include "protos.h" - -/* Routines locales */ - - -/*******************************************************************/ -void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame ) -/*******************************************************************/ -/* Affiche les infos relatives a une equipot: nb de pads, nets , connexions.. */ -{ - int nb_vias = 0, ii; - EDA_BaseStruct* Struct; - wxString txt; - MODULE* module; - D_PAD* pad; - EQUIPOT* equipot; - double lengthnet = 0; - - frame->MsgPanel->EraseMsgBox(); - - equipot = frame->GetBoard()->FindNet( netcode ); - if( equipot ) - Affiche_1_Parametre( frame, 1, _( "Net Name" ), equipot->GetNetname(), RED ); - else - Affiche_1_Parametre( frame, 1, _( "No Net (not connected)" ), wxEmptyString, RED ); - - txt.Printf( wxT( "%d" ), netcode ); - Affiche_1_Parametre( frame, 30, _( "Net Code" ), txt, RED ); - - for( ii = 0, module = frame->GetBoard()->m_Modules; module != 0; - module = module->Next() ) - { - for( pad = module->m_Pads; pad != 0; pad = pad->Next() ) - { - if( pad->GetNet() == netcode ) - ii++; - } - } - - txt.Printf( wxT( "%d" ), ii ); - Affiche_1_Parametre( frame, 40, _( "Pads" ), txt, DARKGREEN ); - - for( ii = 0, Struct = frame->GetBoard()->m_Track; Struct != NULL; Struct = Struct->Next() ) - { - ii++; - if( Struct->Type() == TYPE_VIA ) - if( ( (SEGVIA*) Struct )->GetNet() == netcode ) - nb_vias++; - if( Struct->Type() == TYPE_TRACK ) - if( ( (TRACK*) Struct )->GetNet() == netcode ) - lengthnet += ( (TRACK*) Struct )->GetLength(); - } - - txt.Printf( wxT( "%d" ), nb_vias ); - Affiche_1_Parametre( frame, 50, _( "Vias" ), txt, BLUE ); - - valeur_param( (int) lengthnet, txt ); - Affiche_1_Parametre( frame, 60, _( "Net Length" ), txt, RED ); -} diff --git a/pcbnew/class_equipot.cpp b/pcbnew/class_equipot.cpp index 23aba3b996..253a1bf228 100644 --- a/pcbnew/class_equipot.cpp +++ b/pcbnew/class_equipot.cpp @@ -4,10 +4,9 @@ #include "fctsys.h" #include "wxstruct.h" -#include "gr_basic.h" +#include "common.h" #include "kicad_string.h" #include "pcbnew.h" -#include "protos.h" /*********************************************************/ @@ -128,6 +127,62 @@ void EQUIPOT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int aDrawMode, const wxPo } +/** + * Function DisplayInfo + * has knowledge about the frame and how and where to put status information + * about this object into the frame's message panel. + * Is virtual from EDA_BaseStruct. + * @param frame A WinEDA_DrawFrame in which to print status information. + */ + void EQUIPOT::DisplayInfo( WinEDA_DrawFrame* frame ) +{ + int count; + EDA_BaseStruct* Struct; + wxString txt; + MODULE* module; + D_PAD* pad; + double lengthnet = 0; + + frame->MsgPanel->EraseMsgBox(); + + Affiche_1_Parametre( frame, 1, _( "Net Name" ), GetNetname(), RED ); + + txt.Printf( wxT( "%d" ), GetNet() ); + Affiche_1_Parametre( frame, 30, _( "Net Code" ), txt, RED ); + + count = 0; + module = ((WinEDA_BasePcbFrame*)frame)->GetBoard()->m_Modules; + for( ; module != 0; module = module->Next() ) + { + for( pad = module->m_Pads; pad != 0; pad = pad->Next() ) + { + if( pad->GetNet() == GetNet() ) + count++; + } + } + + txt.Printf( wxT( "%d" ), count ); + Affiche_1_Parametre( frame, 40, _( "Pads" ), txt, DARKGREEN ); + + count = 0; + Struct = ((WinEDA_BasePcbFrame*)frame)->GetBoard()->m_Track; + for( ; Struct != NULL; Struct = Struct->Next() ) + { + if( Struct->Type() == TYPE_VIA ) + if( ( (SEGVIA*) Struct )->GetNet() == GetNet() ) + count++; + if( Struct->Type() == TYPE_TRACK ) + if( ( (TRACK*) Struct )->GetNet() == GetNet() ) + lengthnet += ( (TRACK*) Struct )->GetLength(); + } + + txt.Printf( wxT( "%d" ), count ); + Affiche_1_Parametre( frame, 50, _( "Vias" ), txt, BLUE ); + + valeur_param( (int) lengthnet, txt ); + Affiche_1_Parametre( frame, 60, _( "Net Length" ), txt, RED ); +} + #if defined(DEBUG) /** diff --git a/pcbnew/class_equipot.h b/pcbnew/class_equipot.h index 1ee87baba3..3161af9b5c 100644 --- a/pcbnew/class_equipot.h +++ b/pcbnew/class_equipot.h @@ -94,6 +94,15 @@ public: } +/** + * Function DisplayInfo + * has knowledge about the frame and how and where to put status information + * about this object into the frame's message panel. + * Is virtual from EDA_BaseStruct. + * @param frame A WinEDA_DrawFrame in which to print status information. + */ + void DisplayInfo( WinEDA_DrawFrame* frame ); + #if defined(DEBUG) /** * Function Show diff --git a/pcbnew/ioascii.cpp b/pcbnew/ioascii.cpp index aff8d5f23f..d519ac5a89 100644 --- a/pcbnew/ioascii.cpp +++ b/pcbnew/ioascii.cpp @@ -904,6 +904,7 @@ int WinEDA_PcbFrame::SavePcbFormatAscii( FILE* aFile ) /* Ecriture de l'entete PCB : */ fprintf( aFile, "PCBNEW-BOARD Version %d date %s\n\n", g_CurrentVersionPCB, DateAndTime( line ) ); + fprintf( aFile, "# Created by Pcbnew%s\n\n", CONV_TO_UTF8( GetBuildVersion() ) ); WriteGeneralDescrPcb( aFile ); WriteSheetDescr( GetScreen(), aFile ); diff --git a/pcbnew/onleftclick.cpp b/pcbnew/onleftclick.cpp index ce0090d1b3..a569e6f445 100644 --- a/pcbnew/onleftclick.cpp +++ b/pcbnew/onleftclick.cpp @@ -138,7 +138,11 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos ) if( netcode < 0 ) GetBoard()->DisplayInfo( this ); else - Affiche_Infos_Equipot( netcode, this ); + { + EQUIPOT * net = GetBoard()->FindNet(netcode); + if ( net ) + net->DisplayInfo( this ); + } } break; diff --git a/pcbnew/protos.h b/pcbnew/protos.h index b7a7114b79..b6764d73fc 100644 --- a/pcbnew/protos.h +++ b/pcbnew/protos.h @@ -330,11 +330,6 @@ void Trace_Block( WinEDA_DrawPanel* panel, wxDC* DC, int ox, int oy, int fx, * (toujours en mode XOR) */ -/*****************************************************************/ -/* AFFICHE.CPP: (Fonctions d'affichage de messages, parametres... */ -/*****************************************************************/ -void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame ); - /************/ /* ZONES.CPP */ /************/