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 Piste ≥ Largeur 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 Via ≥ Min. Diamètre Via
"
-#: pcbnew/dialog_design_rules.cpp:784
+#: pcbnew/dialog_design_rules.cpp:785
#, c-format
msgid "%s: Via Drill ≥ Via Dia
"
msgstr "%s: Perçage Via ≥ Diam 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 Drill ≥ MicroVia Dia
"
msgstr "%s: Perçage MicroVia ≥ Diam 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();