diff --git a/common/about_kicad.cpp b/common/about_kicad.cpp index 3f91970b42..def6666570 100644 --- a/common/about_kicad.cpp +++ b/common/about_kicad.cpp @@ -8,7 +8,7 @@ #include "appl_wxstruct.h" -#define BUILD_VERSION "(20091021-unstable)" +#define BUILD_VERSION "(20091024-unstable)" #ifdef HAVE_SVN_VERSION diff --git a/common/displlst.cpp b/common/displlst.cpp index a0c5b4b4f5..1f28b93a76 100644 --- a/common/displlst.cpp +++ b/common/displlst.cpp @@ -97,15 +97,25 @@ WinEDAListBox::WinEDAListBox( WinEDA_DrawFrame* parent, const wxString& title, { Centre(); } - else // Ensure the window dialog is on screen : + else // Ensure the window dialog is inside the main window : { - wxPoint pos; - m_Parent->GetPosition( &pos.x, &pos.y ); - if( pos.x < 0 ) - pos.x = 0; - if( pos.y < 0 ) - pos.y = 0; - pos.x += 20; pos.y += 30; + wxPoint pos = dialog_position; + wxPoint maxpos; + maxpos.x = parent->GetPosition().x + parent->GetSize().x; + maxpos.y = parent->GetPosition().y + parent->GetSize().y; + wxPoint endpoint; + endpoint.x = pos.x + GetSize().x; + endpoint.y = pos.y + GetSize().y; + + if( endpoint.x > maxpos.x ) + pos.x -= endpoint.x - maxpos.x; + if( endpoint.y > maxpos.y ) + pos.y -= endpoint.y - maxpos.y; + + if( pos.x < parent->GetPosition().x ) + pos.x = parent->GetPosition().x; + if( pos.y < parent->GetPosition().y ) + pos.y = parent->GetPosition().y; Move( pos ); } } diff --git a/cvpcb/listboxes.cpp b/cvpcb/listboxes.cpp index 164e2d7d68..ba5722955f 100644 --- a/cvpcb/listboxes.cpp +++ b/cvpcb/listboxes.cpp @@ -88,9 +88,9 @@ void WinEDA_CvpcbFrame::BuildCmpListBox() BOOST_FOREACH( COMPONENT & component, m_components ) { msg.Printf( CMP_FORMAT, m_ListCmp->GetCount() + 1, - component.m_Reference.GetData(), - component.m_Value.GetData(), - component.m_Module.GetData() ); + GetChars(component.m_Reference), + GetChars(component.m_Value), + GetChars(component.m_Module) ); m_ListCmp->m_ComponentList.Add( msg ); } diff --git a/eeschema/pinedit.cpp b/eeschema/pinedit.cpp index edc84e1f75..31c413b9fd 100644 --- a/eeschema/pinedit.cpp +++ b/eeschema/pinedit.cpp @@ -23,7 +23,7 @@ static int CodeOrient[4] = #define NBSHAPES 7 static wxString shape_list[NBSHAPES] = { - _( "line" ), _( "invert" ), _( "clock" ), _( "clock inv" ), + _( "line" ), _( "invert" ), _( "clock" ), _( "clock inv" ), _( "low in" ), _( "low clock" ), _( "low out" ) }; @@ -572,10 +572,10 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC ) if( g_EditPinByPinIsOn == false ) CurrentPin->m_Flags |= IS_LINKED; - CurrentPin->m_Pos.x = GetScreen()->m_Curseur.x; - CurrentPin->m_Pos.y = -GetScreen()->m_Curseur.y; - CurrentPin->m_PinLen = LastPinSize; - CurrentPin->m_Orient = LastPinOrient; + CurrentPin->m_Pos.x = GetScreen()->m_Curseur.x; + CurrentPin->m_Pos.y = -GetScreen()->m_Curseur.y; + CurrentPin->m_PinLen = LastPinSize; + CurrentPin->m_Orient = LastPinOrient; CurrentPin->m_PinType = LastPinType; CurrentPin->m_PinShape = LastPinShape; CurrentPin->m_PinNameSize = LastPinNameSize; @@ -931,13 +931,18 @@ bool sort_by_pin_number( const LIB_PIN* ref, const LIB_PIN* tst ) } -/* Test for duplicate pins: +/* Test for duplicate pins and off grid pins: + * Pins are considered off grid when they are not on the 25 mils grid + * A grid smaller than 25 mils must be used only to build graphic shapes. */ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event ) { - int error; + #define MIN_GRID_SIZE 25 + int dup_error; + int offgrid_error; LIB_PIN* Pin; wxString msg; + wxString aux_msg; if( m_component == NULL ) return; @@ -962,13 +967,11 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event ) sort( PinList.begin(), PinList.end(), sort_by_pin_number ); // Test for duplicates: - error = 0; - DIALOG_DISPLAY_HTML_TEXT_BASE - error_display( this, wxID_ANY, _( "Marker Info" ), - wxDefaultPosition, wxSize( 750, 600 ) ); + dup_error = 0; + DIALOG_DISPLAY_HTML_TEXT_BASE error_display( this, wxID_ANY, _( "Marker Info" ), + wxDefaultPosition, wxSize( 750, 600 ) ); for( unsigned ii = 1; ii < PinList.size(); ii++ ) { - wxString aux_msg; wxString stringPinNum, stringCurrPinNum; LIB_PIN* curr_pin = PinList[ii]; @@ -979,7 +982,7 @@ void WinEDA_LibeditFrame::OnCheckComponent( wxCommandEvent& event ) || Pin->m_Unit != curr_pin->m_Unit ) continue; - error++; + dup_error++; Pin->ReturnPinStringNum( stringPinNum ); curr_pin->ReturnPinStringNum( stringCurrPinNum ); msg.Printf( _( @@ -1007,12 +1010,50 @@ with pin %s \"%s\" at location (%.3f, %.3f)" } msg += wxT( ".
" ); - error_display.m_htmlWindow->AppendToPage( msg ); } - if( error == 0 ) - DisplayInfoMessage( this, _( "No duplicate pins were found." ) ); + // Test for off grid pins: + offgrid_error = 0; + for( unsigned ii = 0; ii < PinList.size(); ii++ ) + { + Pin = PinList[ii]; + + if( ( (Pin->m_Pos.x % MIN_GRID_SIZE) == 0 ) && + ( (Pin->m_Pos.y % MIN_GRID_SIZE) == 0 ) ) + continue; + + // A pin is foun here off grid + offgrid_error++; + wxString stringPinNum; + Pin->ReturnPinStringNum( stringPinNum ); + msg.Printf( _( "Off grid pin %s \"%s\" at location (%.3f, %.3f)" ), + GetChars( stringPinNum ), + GetChars( Pin->m_PinName ), + (float) Pin->m_Pos.x / 1000.0, (float) -Pin->m_Pos.y / 1000.0 + ); + + if( m_component->GetPartCount() > 1 ) + { + aux_msg.Printf( _( " in part %c" ), 'A' + Pin->m_Unit ); + msg += aux_msg; + } + + if( m_showDeMorgan ) + { + if( Pin->m_Convert ) + msg += _( " of converted" ); + else + msg += _( " of normal" ); + } + + msg += wxT( ".
" ); + error_display.m_htmlWindow->AppendToPage( msg ); + } + + if( !dup_error && !offgrid_error ) + DisplayInfoMessage( this, _( "No off grid or duplicate pins were found." ) ); + else error_display.ShowModal(); } diff --git a/eeschema/tool_lib.cpp b/eeschema/tool_lib.cpp index 7a6688e0df..6de8d64ba0 100644 --- a/eeschema/tool_lib.cpp +++ b/eeschema/tool_lib.cpp @@ -153,7 +153,7 @@ void WinEDA_LibeditFrame::ReCreateHToolbar() m_HToolBar->AddSeparator(); m_HToolBar->AddTool( ID_LIBEDIT_CHECK_PART, wxEmptyString, - wxBitmap( erc_xpm ), _( "Test for duplicate pins" ) ); + wxBitmap( erc_xpm ), _( "Test for duplicate pins and off grid pins" ) ); m_HToolBar->AddSeparator(); msg = AddHotkeyName( _( "Zoom in" ), s_Libedit_Hokeys_Descr, HK_ZOOM_IN ); diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 8f355dd25c..368fa85bc4 100644 Binary files a/internat/fr/kicad.mo and b/internat/fr/kicad.mo differ diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 54d91ad977..eb06e72aa5 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-10-23 11:01+0100\n" -"PO-Revision-Date: 2009-10-23 11:02+0100\n" +"POT-Creation-Date: 2009-10-25 16:44+0100\n" +"PO-Revision-Date: 2009-10-25 16:44+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -221,7 +221,7 @@ msgid "Place Module" msgstr "Place Module" #: pcbnew/loadcmp.cpp:234 -#: pcbnew/loadcmp.cpp:386 +#: pcbnew/loadcmp.cpp:387 #, 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" @@ -229,8 +229,8 @@ msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche" #: pcbnew/loadcmp.cpp:236 #: pcbnew/loadcmp.cpp:248 #: pcbnew/loadcmp.cpp:264 -#: pcbnew/loadcmp.cpp:388 -#: pcbnew/loadcmp.cpp:424 +#: pcbnew/loadcmp.cpp:389 +#: pcbnew/loadcmp.cpp:425 msgid "Library Load Error" msgstr "Erreur en Chargement de librairie" @@ -245,7 +245,7 @@ msgid "Scan Lib: %s" msgstr "Examen Lib: %s" #: pcbnew/loadcmp.cpp:262 -#: pcbnew/loadcmp.cpp:422 +#: pcbnew/loadcmp.cpp:423 #, 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." @@ -255,16 +255,16 @@ msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide." msgid "Module <%s> not found" msgstr "Module <%s> non trouvé" -#: pcbnew/loadcmp.cpp:413 +#: pcbnew/loadcmp.cpp:414 msgid "Library " msgstr "Librairie " -#: pcbnew/loadcmp.cpp:413 +#: pcbnew/loadcmp.cpp:414 msgid " loaded" msgstr " chargé" -#: pcbnew/loadcmp.cpp:484 -#: pcbnew/loadcmp.cpp:636 +#: pcbnew/loadcmp.cpp:485 +#: pcbnew/loadcmp.cpp:637 #, c-format msgid "Modules [%d items]" msgstr "Modules [%d éléments]" @@ -2892,7 +2892,7 @@ msgstr "dimension" #: pcbnew/edit_track_width.cpp:180 #, c-format msgid "Set tracks and vias sizes to the Netclass \"%s\"default value (entire NET \"%s\") ?" -msgstr "" +msgstr "Ajuster pistes et vias sizes à la valeur de la Netclass \"%s\" (tout le NET \"%s\") ?" #: pcbnew/edit_track_width.cpp:232 msgid "Set All Tracks and Vias to Netclass value" @@ -3504,7 +3504,7 @@ msgstr "&Options Couches" #: pcbnew/menubarpcb.cpp:224 msgid "Enable and set properties of layers" -msgstr "" +msgstr "Activer les couches et ajuster leur propriétés" #: pcbnew/menubarpcb.cpp:235 msgid "Tracks and Vias" @@ -4876,19 +4876,19 @@ msgstr "De " msgid "Footprint library files:" msgstr "Fichiers Library Modules:" -#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:236 +#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:227 msgid "Library already in use" msgstr "Librairie déjà en usage" -#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:249 +#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:240 msgid "Default Path for Libraries" msgstr "Chemin par Défaut des Librairies" -#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:284 +#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:275 msgid "Path already in use" msgstr "Chemin déjà en usage" -#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:323 +#: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:314 msgid "Footprint document file:" msgstr "Documentation des Modules:" @@ -5409,7 +5409,7 @@ msgid "No Net" msgstr "No Net" #: pcbnew/dialog_copper_layers_setup.cpp:135 -#: pcbnew/dialog_design_rules.cpp:478 +#: pcbnew/dialog_design_rules.cpp:479 msgid "Errors detected, Abort" msgstr "Erreurs detectées, Abandont" @@ -5574,68 +5574,68 @@ msgstr "* (Tout)" msgid "Class" msgstr "Classe" -#: pcbnew/dialog_design_rules.cpp:105 +#: pcbnew/dialog_design_rules.cpp:106 msgid "Current general settings:
" msgstr "Reglages généraux courants:
" -#: pcbnew/dialog_design_rules.cpp:109 +#: pcbnew/dialog_design_rules.cpp:110 #, c-format msgid "Minimum value for tracks width: %s
\n" msgstr "Valeur minimum pour la largeur de piste: %s
\n" -#: pcbnew/dialog_design_rules.cpp:113 +#: pcbnew/dialog_design_rules.cpp:114 #, c-format msgid "Minimum value for vias diameter: %s
\n" msgstr "Valeur minimum pour le diamètre de via: %s
\n" -#: pcbnew/dialog_design_rules.cpp:117 +#: pcbnew/dialog_design_rules.cpp:118 #, c-format msgid "Minimum value for microvias diameter: %s
\n" msgstr "Valeur minimum pour le diamètre de microvia: %s
\n" -#: pcbnew/dialog_design_rules.cpp:497 +#: pcbnew/dialog_design_rules.cpp:498 msgid "New Net Class Name:" msgstr "Nouveau Nom de Classe d'Equipotentielle:" -#: pcbnew/dialog_design_rules.cpp:510 +#: pcbnew/dialog_design_rules.cpp:511 msgid "This NetClass is already existing, cannot add it; Aborted" msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon" -#: pcbnew/dialog_design_rules.cpp:567 +#: pcbnew/dialog_design_rules.cpp:568 msgid "The defaut Netclass cannot be removed" msgstr "La Netclass Défault ne peut être supprimée" -#: pcbnew/dialog_design_rules.cpp:758 +#: pcbnew/dialog_design_rules.cpp:759 #, c-format msgid "%s: Track Size < Min Track Size
" msgstr "%s: Largeur PisteLargeur Piste Minimum
" -#: pcbnew/dialog_design_rules.cpp:772 +#: pcbnew/dialog_design_rules.cpp:773 #, c-format msgid "%s: Via Diameter < Minimun Via Diameter
" msgstr "%s: Diamètre ViaMin. Diamètre Via
" -#: pcbnew/dialog_design_rules.cpp:784 +#: pcbnew/dialog_design_rules.cpp:785 #, c-format msgid "%s: Via DrillVia Dia
" msgstr "%s: Perçage ViaDiam Via
" -#: pcbnew/dialog_design_rules.cpp:793 +#: pcbnew/dialog_design_rules.cpp:794 #, c-format msgid "%s: Via Drill < Min Via Drill
" msgstr "%s: Perçage Via < Via Perçage Min
" -#: pcbnew/dialog_design_rules.cpp:807 +#: pcbnew/dialog_design_rules.cpp:808 #, c-format msgid "%s: MicroVia Diameter < MicroVia Min Diameter
" msgstr "%s: Diamètre MicroVia < Diamètre MicroVia Minimum
" -#: pcbnew/dialog_design_rules.cpp:819 +#: pcbnew/dialog_design_rules.cpp:820 #, c-format msgid "%s: MicroVia DrillMicroVia Dia
" msgstr "%s: Perçage MicroViaDiam MicroVia
" -#: pcbnew/dialog_design_rules.cpp:828 +#: pcbnew/dialog_design_rules.cpp:829 #, c-format msgid "%s: MicroVia Drill < MicroVia Min Drill
" msgstr "%s: Perçage MicroVia < MicroVia Perçage Min
" @@ -5847,9 +5847,8 @@ msgid "Seg Layer" msgstr "Couche Seg." #: pcbnew/dialog_print_for_modedit.cpp:242 -#, fuzzy msgid "Print Footprint" -msgstr "Module" +msgstr "Imprimer Module" #: pcbnew/dialog_print_for_modedit_base.cpp:22 msgid "Scale 8" @@ -6995,35 +6994,43 @@ msgstr "Position occupée par une autre pin. Continuer ?" msgid "Initial pin position (%d, %d)" msgstr "Position initiane de la pin (%d, %d)" -#: eeschema/pinedit.cpp:956 +#: eeschema/pinedit.cpp:961 msgid "No pins!" msgstr "Pas de Pins!" -#: eeschema/pinedit.cpp:967 +#: eeschema/pinedit.cpp:971 msgid "Marker Info" msgstr "Info Marqueur" -#: eeschema/pinedit.cpp:986 +#: eeschema/pinedit.cpp:989 #, c-format msgid "Duplicate pin %s \"%s\" at location (%.3f, %.3f) conflicts with pin %s \"%s\" at location (%.3f, %.3f)" msgstr "Pin dupliquée %s \"%s\" en position (%.3f, %.3f) en conflit avec pin %s \"%s\" en position (%.3f, %.3f)" -#: eeschema/pinedit.cpp:997 +#: eeschema/pinedit.cpp:1000 +#: eeschema/pinedit.cpp:1038 #, c-format msgid " in part %c" msgstr " en composant %c" -#: eeschema/pinedit.cpp:1004 +#: eeschema/pinedit.cpp:1007 +#: eeschema/pinedit.cpp:1045 msgid " of converted" msgstr " de converti" -#: eeschema/pinedit.cpp:1006 +#: eeschema/pinedit.cpp:1009 +#: eeschema/pinedit.cpp:1047 msgid " of normal" msgstr " de normal" -#: eeschema/pinedit.cpp:1015 -msgid "No duplicate pins were found." -msgstr "Pas de pins doublées trouvéées" +#: eeschema/pinedit.cpp:1030 +#, c-format +msgid "Off grid pin %s \"%s\" at location (%.3f, %.3f)" +msgstr "" + +#: eeschema/pinedit.cpp:1055 +msgid "No off grid or duplicate pins were found." +msgstr "Pas de pins doublées ou hors grille trouvées" #: eeschema/eelayer.cpp:218 msgid "White" @@ -7155,7 +7162,7 @@ msgstr "Supprimer composant \"%s\" de la librairie \"%s\"?" #: eeschema/libedit.cpp:442 msgid "The component being deleted has been modified. All changes will be lost. Discard changes?" -msgstr "" +msgstr "Le composant à supprimer a été modifié. Tous les changements seront perdus. Ignorer les changements?" #: eeschema/libedit.cpp:497 msgid "" @@ -7204,9 +7211,9 @@ msgid "reference" msgstr "référence" #: eeschema/class_libentry.cpp:332 -#, fuzzy, c-format +#, c-format msgid "An attempt was made to remove the %s field from component %s in library %s." -msgstr "Alias <%s> non trouvé pour le component <%s> en librairie <%s>." +msgstr "Une tentative a été faite pour supprimer le champ %s du composant %s en librairie %s." #: eeschema/class_libentry.cpp:674 msgid "file ended prematurely loading component draw element" @@ -7443,8 +7450,8 @@ msgid "Add and remove fields and edit field properties" msgstr "Ajouter, supprimer des champs et éditer leurs propriétés" #: eeschema/tool_lib.cpp:156 -msgid "Test for duplicate pins" -msgstr "Test pins doublées" +msgid "Test for duplicate pins and off grid pins" +msgstr "Test pins doublées et hors grille" #: eeschema/tool_lib.cpp:179 msgid "Show as \"De Morgan\" normal part" @@ -8041,7 +8048,7 @@ msgstr "Créer composant comme &symbole d'alimentation" #: eeschema/dialog_lib_new_component_base.cpp:121 msgid "Parts in package locked (cannot be swapped)" -msgstr "Les parts du boitier sont verroulliées (ne peuvent pas être interchangées)" +msgstr "Les parts du boitier sont verrouillées (ne peuvent pas être interchangées)" #: eeschema/dialog_lib_new_component_base.cpp:130 msgid "Global Pin Settings" @@ -8614,19 +8621,19 @@ msgstr "" msgid "Doc Files" msgstr "Fichiers de Doc" -#: eeschema/edit_component_in_lib.cpp:457 +#: eeschema/edit_component_in_lib.cpp:462 msgid "Ok to Delete FootprintFilter LIST" msgstr "Ok pour effacer la LISTE des filtres de modules" -#: eeschema/edit_component_in_lib.cpp:480 +#: eeschema/edit_component_in_lib.cpp:485 msgid "Add Footprint Filter" msgstr "Ajouter Filtre Modules" -#: eeschema/edit_component_in_lib.cpp:480 +#: eeschema/edit_component_in_lib.cpp:485 msgid "Footprint Filter" msgstr "Filtrage Modules" -#: eeschema/edit_component_in_lib.cpp:493 +#: eeschema/edit_component_in_lib.cpp:498 #, c-format msgid "Foot print filter <%s> is already defined." msgstr "Filtre de module <%s> déjà défini." @@ -9862,12 +9869,11 @@ msgstr "&Epaisseur" #: eeschema/dialog_lib_edit_draw_item_base.cpp:56 msgid "Apply changes to all &parts in component" -msgstr "" +msgstr "Apliquer les changements à toutes les &parts du composant" #: eeschema/dialog_lib_edit_draw_item_base.cpp:68 -#, fuzzy msgid "Apply changes to all body &styles (DeMorgan)" -msgstr "Créer un composant avec une forme &alternative (DeMorgan)" +msgstr "Appliquer les changements à toutes les parts et &représentation (DeMorgan)" #: eeschema/dialog_lib_edit_draw_item_base.cpp:77 msgid "Fill Style" diff --git a/pcbnew/class_pad_draw_functions.cpp b/pcbnew/class_pad_draw_functions.cpp index e253346eaf..fb19da5b5e 100644 --- a/pcbnew/class_pad_draw_functions.cpp +++ b/pcbnew/class_pad_draw_functions.cpp @@ -266,16 +266,16 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, if( fillpad ) { GRFillCSegm( &panel->m_ClipBox, DC, - ux0 + delta_cx + mask_margin, uy0 + delta_cy + mask_margin, - ux0 - delta_cx - mask_margin, uy0 - delta_cy - mask_margin, - rotdx, color ); + ux0 + delta_cx, uy0 + delta_cy, + ux0 - delta_cx, uy0 - delta_cy, + rotdx + mask_margin, color ); } else { GRCSegm( &panel->m_ClipBox, DC, - ux0 + delta_cx + mask_margin, uy0 + delta_cy + mask_margin, - ux0 - delta_cx - mask_margin, uy0 - delta_cy - mask_margin, - rotdx, color ); + ux0 + delta_cx, uy0 + delta_cy, + ux0 - delta_cx, uy0 - delta_cy, + rotdx + mask_margin, color ); } /* Trace de la marge d'isolement */ @@ -293,20 +293,20 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, case PAD_TRAPEZOID: { int ddx, ddy; - ddx = (m_DeltaSize.x >> 1) + mask_margin; - ddy = (m_DeltaSize.y >> 1) + mask_margin; /* demi dim dx et dy */ + ddx = (m_DeltaSize.x >> 1); + ddy = (m_DeltaSize.y >> 1); /* demi dim dx et dy */ - coord[0].x = -dx - ddy; - coord[0].y = +dy + ddx; + coord[0].x = -dx - ddy - mask_margin; + coord[0].y = +dy + ddx + mask_margin; - coord[1].x = -dx + ddy; - coord[1].y = -dy - ddx; + coord[1].x = -dx + ddy - mask_margin; + coord[1].y = -dy - ddx - mask_margin; - coord[2].x = +dx - ddy; - coord[2].y = -dy + ddx; + coord[2].x = +dx - ddy + mask_margin; + coord[2].y = -dy + ddx - mask_margin; - coord[3].x = +dx + ddy; - coord[3].y = +dy - ddx; + coord[3].x = +dx + ddy + mask_margin; + coord[3].y = +dy - ddx + mask_margin; for( ii = 0; ii < 4; ii++ ) { diff --git a/pcbnew/dialog_design_rules.cpp b/pcbnew/dialog_design_rules.cpp index 9ba8df03c3..f0096af2d5 100644 --- a/pcbnew/dialog_design_rules.cpp +++ b/pcbnew/dialog_design_rules.cpp @@ -91,6 +91,7 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( WinEDA_PcbFrame* parent ) : Layout(); GetSizer()->Fit( this ); GetSizer()->SetSizeHints( this ); + Center(); } diff --git a/pcbnew/dialog_layers_setup.cpp b/pcbnew/dialog_layers_setup.cpp index 99e817b672..bcaeb3b752 100644 --- a/pcbnew/dialog_layers_setup.cpp +++ b/pcbnew/dialog_layers_setup.cpp @@ -258,7 +258,7 @@ void DialogLayerSetup::SetLayerType( int Layer, LAYER_T Type ) } //============================================================================== -// The layer mask for non-copper layers is obtained from the new +// The layer mask for non-copper layers is obtained from the new // EDA_BoardDesignSettings::m*EnabledLayers, but for compatibility, the mask // for the copper-layers is obtained from g_DesignSettings::m_CopperLayerCount @@ -445,7 +445,7 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos, // The copper layer names can be changed, we need a text control m_LayerNameTextCtrl[Layer] = new wxTextCtrl( m_LayerNamePanel[Layer], ID_LAYERNAMES + Layer, GetLayerName( Layer ), wxDefaultPosition, wxDefaultSize, 0 /*|wxNO_BORDER*/ ); - m_LayerNameTextCtrl[Layer]->SetMaxLength( 20 ); + m_LayerNameTextCtrl[Layer]->SetMaxLength( 20 ); #if CONTROL_BACKGROUND_COLORED m_LayerNameTextCtrl[Layer]->SetBackgroundColour( GetRowColor( Layer )); @@ -659,6 +659,8 @@ DialogLayerSetup::DialogLayerSetup( WinEDA_PcbFrame* parent, const wxPoint& pos, m_LayerEnabledCheckBox[i]->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DialogLayerSetup::OnLayerEnabledKillFocus ), NULL, this ); m_LayerEnabledCheckBox[i]->Connect( wxEVT_SET_FOCUS, wxFocusEventHandler( DialogLayerSetup::OnLayerEnabledSetFocus ), NULL, this ); } + + Centre(); } //============================================================================== @@ -994,7 +996,7 @@ void DialogLayerSetup::OnOKClick( wxCommandEvent& event ) if( m_LayersMask >> i & 0x00000001 ) NumberOfCopperLayers++; } - + m_Pcb->m_BoardSettings->m_CopperLayerCount = NumberOfCopperLayers; m_Pcb->SetEnabledLayers( m_LayersMask ); diff --git a/pcbnew/loadcmp.cpp b/pcbnew/loadcmp.cpp index f7118e1519..60bb496c82 100644 --- a/pcbnew/loadcmp.cpp +++ b/pcbnew/loadcmp.cpp @@ -362,7 +362,8 @@ wxString WinEDA_BasePcbFrame::Select_1_Module_From_List( WinEDAListBox* ListBox = new WinEDAListBox( active_window, wxEmptyString, NULL, OldName, DisplayCmpDoc, - wxColour( 200, 200, 255 ),GetScreen()->m_Curseur ); + wxColour( 200, 200, 255 ), + GetComponentDialogPosition()); wxBeginBusyCursor();