From caa42eafca4aace6f4a126260b1fe71143ba4a24 Mon Sep 17 00:00:00 2001 From: dickelbeck Date: Sat, 4 Aug 2007 05:08:19 +0000 Subject: [PATCH] reverted to former behavior for special situation when hit-test turns up nothing --- change_log.txt | 2 + pcbnew/edit.cpp | 3 +- pcbnew/editrack-part2.cpp | 140 +++++++++++++++++++------------------- 3 files changed, 73 insertions(+), 72 deletions(-) diff --git a/change_log.txt b/change_log.txt index f55c44b4d6..99237631eb 100644 --- a/change_log.txt +++ b/change_log.txt @@ -10,6 +10,8 @@ email address. ================================================================================ + pcbnew Read-ability formatting, I am playing with a C++ beautifier called uncrustify. + I had to patch it and spent 2 days getting it configured. Patch not + sent upstream yet. Fixed a bug in "display local ratsnest pad or module": if you had a small module and the mouse clicked its reference text, the ratnest for the associated module would not show. The work around was to add diff --git a/pcbnew/edit.cpp b/pcbnew/edit.cpp index 87ab05e8fb..9f84f7a2a1 100644 --- a/pcbnew/edit.cpp +++ b/pcbnew/edit.cpp @@ -126,8 +126,7 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos ) case ID_PCB_SHOW_1_RATSNEST_BUTT: DrawStruct = PcbGeneralLocateAndDisplay(); - if( DrawStruct ) - Show_1_Ratsnest( DrawStruct, DC ); + Show_1_Ratsnest( DrawStruct, DC ); break; case ID_PCB_MIRE_BUTT: diff --git a/pcbnew/editrack-part2.cpp b/pcbnew/editrack-part2.cpp index 3ffd28be3f..3836e01310 100644 --- a/pcbnew/editrack-part2.cpp +++ b/pcbnew/editrack-part2.cpp @@ -300,87 +300,87 @@ void WinEDA_PcbFrame::Show_1_Ratsnest( EDA_BaseStruct* item, wxDC* DC ) if( g_Show_Ratsnest ) return; // Deja Affich� - if( !item ) - return; - if( (m_Pcb->m_Status_Pcb & LISTE_CHEVELU_OK) == 0 ) { Compile_Ratsnest( DC, TRUE ); } - if( item->m_StructType == TYPEPAD ) + if( item ) { - pt_pad = (D_PAD*) item; - Module = (MODULE*) pt_pad->m_Parent; - } - - if( pt_pad ) /* Affichage du chevelu du net correspondant */ - { - pt_pad->Display_Infos( this ); - pt_chevelu = (CHEVELU*) m_Pcb->m_Ratsnest; - for( ii = m_Pcb->GetNumRatsnests(); ii > 0; pt_chevelu++, ii-- ) + if( item->m_StructType == TYPEPAD ) { - if( pt_chevelu->m_NetCode == pt_pad->m_NetCode ) + pt_pad = (D_PAD*) item; + Module = (MODULE*) pt_pad->m_Parent; + } + + if( pt_pad ) /* Affichage du chevelu du net correspondant */ + { + pt_pad->Display_Infos( this ); + pt_chevelu = (CHEVELU*) m_Pcb->m_Ratsnest; + for( ii = m_Pcb->GetNumRatsnests(); ii > 0; pt_chevelu++, ii-- ) { - if( (pt_chevelu->status & CH_VISIBLE) != 0 ) - continue; - pt_chevelu->status |= CH_VISIBLE; - if( (pt_chevelu->status & CH_ACTIF) == 0 ) - continue; - - GRSetDrawMode( DC, GR_XOR ); - GRLine( &DrawPanel->m_ClipBox, DC, pt_chevelu->pad_start->m_Pos.x, - pt_chevelu->pad_start->m_Pos.y, - pt_chevelu->pad_end->m_Pos.x, - pt_chevelu->pad_end->m_Pos.y, - 0, - g_DesignSettings.m_RatsnestColor ); - } - } - } - else - { - if( item->m_StructType == TYPETEXTEMODULE ) - { - Module = (MODULE*) item->m_Parent; - } - - else if( item->m_StructType == TYPEMODULE ) - { - Module = (MODULE*) item; - } - - if( Module ) - { - Module->Display_Infos( this ); - pt_pad = Module->m_Pads; - for( ; pt_pad != NULL; pt_pad = (D_PAD*) pt_pad->Pnext ) - { - pt_chevelu = (CHEVELU*) m_Pcb->m_Ratsnest; - for( ii = m_Pcb->GetNumRatsnests(); ii > 0; pt_chevelu++, ii-- ) + if( pt_chevelu->m_NetCode == pt_pad->m_NetCode ) { - if( (pt_chevelu->pad_start == pt_pad) - || (pt_chevelu->pad_end == pt_pad) ) - { - if( pt_chevelu->status & CH_VISIBLE ) - continue; - - pt_chevelu->status |= CH_VISIBLE; - if( (pt_chevelu->status & CH_ACTIF) == 0 ) - continue; - - GRSetDrawMode( DC, GR_XOR ); - GRLine( &DrawPanel->m_ClipBox, DC, pt_chevelu->pad_start->m_Pos.x, - pt_chevelu->pad_start->m_Pos.y, - pt_chevelu->pad_end->m_Pos.x, - pt_chevelu->pad_end->m_Pos.y, - 0, - g_DesignSettings.m_RatsnestColor ); - } + if( (pt_chevelu->status & CH_VISIBLE) != 0 ) + continue; + pt_chevelu->status |= CH_VISIBLE; + if( (pt_chevelu->status & CH_ACTIF) == 0 ) + continue; + + GRSetDrawMode( DC, GR_XOR ); + GRLine( &DrawPanel->m_ClipBox, DC, pt_chevelu->pad_start->m_Pos.x, + pt_chevelu->pad_start->m_Pos.y, + pt_chevelu->pad_end->m_Pos.x, + pt_chevelu->pad_end->m_Pos.y, + 0, + g_DesignSettings.m_RatsnestColor ); } } - - pt_pad = NULL; + } + else + { + if( item->m_StructType == TYPETEXTEMODULE ) + { + Module = (MODULE*) item->m_Parent; + } + + else if( item->m_StructType == TYPEMODULE ) + { + Module = (MODULE*) item; + } + + if( Module ) + { + Module->Display_Infos( this ); + pt_pad = Module->m_Pads; + for( ; pt_pad != NULL; pt_pad = (D_PAD*) pt_pad->Pnext ) + { + pt_chevelu = (CHEVELU*) m_Pcb->m_Ratsnest; + for( ii = m_Pcb->GetNumRatsnests(); ii > 0; pt_chevelu++, ii-- ) + { + if( (pt_chevelu->pad_start == pt_pad) + || (pt_chevelu->pad_end == pt_pad) ) + { + if( pt_chevelu->status & CH_VISIBLE ) + continue; + + pt_chevelu->status |= CH_VISIBLE; + if( (pt_chevelu->status & CH_ACTIF) == 0 ) + continue; + + GRSetDrawMode( DC, GR_XOR ); + GRLine( &DrawPanel->m_ClipBox, DC, pt_chevelu->pad_start->m_Pos.x, + pt_chevelu->pad_start->m_Pos.y, + pt_chevelu->pad_end->m_Pos.x, + pt_chevelu->pad_end->m_Pos.y, + 0, + g_DesignSettings.m_RatsnestColor ); + } + } + } + + pt_pad = NULL; + } } }