bug 1874663 solved (edit a pad netname does not work very well)

This commit is contained in:
CHARRAS 2008-01-21 19:16:45 +00:00
parent 8cd913a2bf
commit fcc6d8d7cf
2 changed files with 36 additions and 5 deletions

View File

@ -10,6 +10,9 @@ email address.
labels and texts display changed when rotated 180 degres:
horizontal text are now right justified insteed of 180 degree rotated, and are readable.
+pcbnew:
bug 1874663 solved (edit a pad netname does not work very well)
2008-Jan-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:

View File

@ -356,6 +356,7 @@ void WinEDA_PadPropertiesFrame::PadPropertiesAccept( wxCommandEvent& event )
{
long PadLayerMask;
bool error = FALSE;
bool RastnestIsChanged = false;
if( m_DC )
m_Parent->DrawPanel->CursorOff( m_DC );
@ -445,7 +446,11 @@ void WinEDA_PadPropertiesFrame::PadPropertiesAccept( wxCommandEvent& event )
CurrentPad->Draw( m_Parent->DrawPanel, m_DC, wxPoint( 0, 0 ), GR_XOR );
CurrentPad->m_PadShape = g_Pad_Master.m_PadShape;
CurrentPad->m_Attribut = g_Pad_Master.m_Attribut;
if (CurrentPad->m_Pos != g_Pad_Master.m_Pos )
{
CurrentPad->m_Pos = g_Pad_Master.m_Pos;
RastnestIsChanged = true;
}
/* compute the pos 0 value, i.e. pad position for module orient = 0 i.e.
* refer to module origin (module position) */
@ -460,11 +465,30 @@ void WinEDA_PadPropertiesFrame::PadPropertiesAccept( wxCommandEvent& event )
CurrentPad->m_Drill = g_Pad_Master.m_Drill;
CurrentPad->m_DrillShape = g_Pad_Master.m_DrillShape;
CurrentPad->m_Offset = g_Pad_Master.m_Offset;
if ( CurrentPad->m_Masque_Layer != g_Pad_Master.m_Masque_Layer )
{
RastnestIsChanged = true;
CurrentPad->m_Masque_Layer = g_Pad_Master.m_Masque_Layer;
}
CurrentPad->SetPadName( g_Current_PadName );
CurrentPad->m_Netname = Current_PadNetName;
if ( CurrentPad->m_Netname != Current_PadNetName )
{
if( Current_PadNetName.IsEmpty() )
CurrentPad->SetNet( 0 );
else
{
const EQUIPOT* net = m_Parent->m_Pcb->FindNet( Current_PadNetName );
if ( net )
{
RastnestIsChanged = true;
CurrentPad->m_Netname = Current_PadNetName;
CurrentPad->SetNet(net->GetNet());
}
else
DisplayError(this, _("Unknown netname, no change"));
}
}
switch( CurrentPad->m_PadShape )
{
@ -514,4 +538,8 @@ void WinEDA_PadPropertiesFrame::PadPropertiesAccept( wxCommandEvent& event )
if( m_DC )
m_Parent->DrawPanel->CursorOn( m_DC );
if ( RastnestIsChanged ) // The net ratsnest must be recalculated
m_Parent->m_Pcb->m_Status_Pcb = 0;
}