Commit 3e3ae892 authored by dickelbeck's avatar dickelbeck

see 2007-Sep-22 change_log.txt

parent e7dc53d6
...@@ -4,6 +4,14 @@ Started 2007-June-11 ...@@ -4,6 +4,14 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with
email address. email address.
2007-Sep-22 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
GENERAL_COLLECTOR::Collect() was skipping thru hole pads even though they
were visible.
Highlight tool now sends message to eeschema when a pad is selected.
2007-Sep-20 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Sep-20 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================ ================================================================================
+ eeschema + eeschema
......
...@@ -152,6 +152,14 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_BaseStruct* testItem, const void* ...@@ -152,6 +152,14 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_BaseStruct* testItem, const void*
switch( item->Type() ) switch( item->Type() )
{ {
case TYPEPAD: case TYPEPAD:
// if pad is a thru hole, then it can be visible when its parent module is not.
if( ((D_PAD*)item)->m_Attribut != SMD ) // a hole is present, so multiple layers
{
// there are no pad specific visibility controls at this time.
// proceed to the common tests below, but without the parent module test,
// by leaving module==NULL
}
else // smd, so use common test below
module = (MODULE*) item->GetParent(); module = (MODULE*) item->GetParent();
break; break;
...@@ -198,6 +206,7 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_BaseStruct* testItem, const void* ...@@ -198,6 +206,7 @@ SEARCH_RESULT GENERAL_COLLECTOR::Inspect( EDA_BaseStruct* testItem, const void*
{ {
if( m_Guide->IgnoreModulesOnCu() && module->GetLayer()==LAYER_CUIVRE_N ) if( m_Guide->IgnoreModulesOnCu() && module->GetLayer()==LAYER_CUIVRE_N )
goto exit; goto exit;
if( m_Guide->IgnoreModulesOnCmp() && module->GetLayer()==LAYER_CMP_N ) if( m_Guide->IgnoreModulesOnCmp() && module->GetLayer()==LAYER_CMP_N )
goto exit; goto exit;
} }
......
...@@ -181,6 +181,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, ...@@ -181,6 +181,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
// Remap the control key Ctrl A (0x01) to GR_KB_CTRL + 'A' (just easier to handle...) // Remap the control key Ctrl A (0x01) to GR_KB_CTRL + 'A' (just easier to handle...)
if( (hotkey & GR_KB_CTRL) != 0 ) if( (hotkey & GR_KB_CTRL) != 0 )
hotkey += 'A' - 1; hotkey += 'A' - 1;
/* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */ /* Convert lower to upper case (the usual toupper function has problem with non ascii codes like function keys */
if( (hotkey >= 'a') && (hotkey <= 'z') ) if( (hotkey >= 'a') && (hotkey <= 'z') )
hotkey += 'A' - 'a'; hotkey += 'A' - 'a';
...@@ -325,8 +326,9 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, ...@@ -325,8 +326,9 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
break; break;
case HK_END_TRACK: case HK_END_TRACK:
if ( ! ItemFree && (GetCurItem()->Type() == TYPETRACK) && ((GetCurItem()->m_Flags & IS_NEW) != 0) ) if( ! ItemFree && (GetCurItem()->Type() == TYPETRACK) && ((GetCurItem()->m_Flags & IS_NEW) != 0) )
{ // A new track is in progress: call to End_Route() {
// A new track is in progress: call to End_Route()
DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema();
End_Route( (TRACK*) ( GetCurItem() ), DC ); End_Route( (TRACK*) ( GetCurItem() ), DC );
} }
...@@ -417,9 +419,10 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, ...@@ -417,9 +419,10 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
| MATCH_LAYER | MATCH_LAYER
#endif #endif
); );
if( module == NULL ) // no footprint found if( module == NULL ) // no footprint found
{ {
module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE ); module = Locate_Prefered_Module( m_Pcb, CURSEUR_OFF_GRILLE | VISIBLE_ONLY );
if( module ) if( module )
{ {
// a footprint is found, but locked or on an other layer // a footprint is found, but locked or on an other layer
......
...@@ -95,6 +95,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC ) ...@@ -95,6 +95,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
if( g_HightLigt_Status ) if( g_HightLigt_Status )
Hight_Light( DC ); Hight_Light( DC );
pt_piste = Locate_Pistes( m_Pcb->m_Track, masquelayer, CURSEUR_OFF_GRILLE ); pt_piste = Locate_Pistes( m_Pcb->m_Track, masquelayer, CURSEUR_OFF_GRILLE );
if( pt_piste ) if( pt_piste )
{ {
...@@ -108,6 +109,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC ) ...@@ -108,6 +109,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
{ {
code = g_HightLigth_NetCode = pt_pad->m_NetCode; code = g_HightLigth_NetCode = pt_pad->m_NetCode;
Hight_Light( DC ); Hight_Light( DC );
SendMessageToEESCHEMA( pt_pad );
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment