SEGVIA::Show() & BOARD_ITEM::MenuText()
This commit is contained in:
parent
9dca39f1d4
commit
ba7cc83493
|
@ -178,6 +178,7 @@ SEARCH_RESULT TRACK::Visit( INSPECTOR* inspector, const void* testData,
|
||||||
// see class_track.h
|
// see class_track.h
|
||||||
bool SEGVIA::IsOnLayer( int layer_number ) const
|
bool SEGVIA::IsOnLayer( int layer_number ) const
|
||||||
{
|
{
|
||||||
|
/* its the same logic, don't need this
|
||||||
int via_type = Shape();
|
int via_type = Shape();
|
||||||
|
|
||||||
if( via_type == VIA_NORMALE )
|
if( via_type == VIA_NORMALE )
|
||||||
|
@ -189,12 +190,13 @@ bool SEGVIA::IsOnLayer( int layer_number ) const
|
||||||
}
|
}
|
||||||
|
|
||||||
// VIA_BORGNE ou VIA_ENTERREE:
|
// VIA_BORGNE ou VIA_ENTERREE:
|
||||||
|
*/
|
||||||
|
|
||||||
int bottom_layer, top_layer;
|
int bottom_layer, top_layer;
|
||||||
|
|
||||||
ReturnLayerPair( &top_layer, &bottom_layer );
|
ReturnLayerPair( &top_layer, &bottom_layer );
|
||||||
|
|
||||||
if( bottom_layer <= layer_number && top_layer >= layer_number )
|
if( bottom_layer <= layer_number && layer_number <= top_layer )
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
|
@ -242,7 +244,7 @@ void SEGVIA::SetLayerPair( int top_layer, int bottom_layer )
|
||||||
* m_Layer code les 2 couches limitant la via
|
* m_Layer code les 2 couches limitant la via
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
int via_type = m_Shape & 255;
|
int via_type = Shape();
|
||||||
|
|
||||||
if( via_type == VIA_NORMALE )
|
if( via_type == VIA_NORMALE )
|
||||||
{
|
{
|
||||||
|
@ -252,6 +254,7 @@ void SEGVIA::SetLayerPair( int top_layer, int bottom_layer )
|
||||||
|
|
||||||
if( bottom_layer > top_layer )
|
if( bottom_layer > top_layer )
|
||||||
EXCHG( bottom_layer, top_layer );
|
EXCHG( bottom_layer, top_layer );
|
||||||
|
|
||||||
m_Layer = (top_layer & 15) + ( (bottom_layer & 15) << 4 );
|
m_Layer = (top_layer & 15) + ( (bottom_layer & 15) << 4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,7 @@ void WinEDA_PcbFrame::Other_Layer_Route( TRACK* track, wxDC* DC )
|
||||||
/* Avoid more than one via on the current location: */
|
/* Avoid more than one via on the current location: */
|
||||||
if( Locate_Via( m_Pcb, g_CurrentTrackSegment->m_End, g_CurrentTrackSegment->GetLayer() ) )
|
if( Locate_Via( m_Pcb, g_CurrentTrackSegment->m_End, g_CurrentTrackSegment->GetLayer() ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
pt_segm = g_FirstTrackSegment;
|
pt_segm = g_FirstTrackSegment;
|
||||||
for( ii = 0; ii < g_TrackSegmentCount - 1; ii++, pt_segm = (TRACK*) pt_segm->Pnext )
|
for( ii = 0; ii < g_TrackSegmentCount - 1; ii++, pt_segm = (TRACK*) pt_segm->Pnext )
|
||||||
{
|
{
|
||||||
|
@ -229,18 +230,25 @@ void WinEDA_PcbFrame::Other_Layer_Route( TRACK* track, wxDC* DC )
|
||||||
else
|
else
|
||||||
GetScreen()->m_Active_Layer = GetScreen()->m_Route_Layer_BOTTOM;
|
GetScreen()->m_Active_Layer = GetScreen()->m_Route_Layer_BOTTOM;
|
||||||
|
|
||||||
|
|
||||||
/* Adjust the via layer pair */
|
/* Adjust the via layer pair */
|
||||||
if( (Via->m_Shape & 15) == VIA_ENTERREE )
|
if( Via->Shape() == VIA_ENTERREE )
|
||||||
{
|
{
|
||||||
Via->SetLayer( old_layer | GetScreen()->m_Active_Layer << 4 );
|
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
||||||
}
|
}
|
||||||
else if( (Via->m_Shape & 15) == VIA_BORGNE ) //blind via
|
|
||||||
{ // A revoir! ( la via devrait deboucher sur 1 cote )
|
else if( Via->Shape() == VIA_BORGNE ) //blind via
|
||||||
Via->SetLayer( old_layer | GetScreen()->m_Active_Layer << 4 );
|
{
|
||||||
|
// A revoir! ( la via devrait deboucher sur 1 cote )
|
||||||
|
Via->SetLayerPair( old_layer, GetScreen()->m_Active_Layer );
|
||||||
}
|
}
|
||||||
else
|
|
||||||
Via->SetLayer( 0x0F ); // Usual via is from copper to component; layer pair is 0 and 0x0F
|
else // @todo: why have this override behaviour? why does the user even need to tell us what kind of via, when we know which two layers are in play?
|
||||||
|
{
|
||||||
|
// Usual via is from copper to component; layer pair is 0 and 0x0F.
|
||||||
|
Via->SetLayerPair( LAYER_CUIVRE_N, LAYER_CMP_N );
|
||||||
|
}
|
||||||
|
|
||||||
if( Drc_On &&( Drc( this, DC, Via, m_Pcb->m_Track, 1 ) == BAD_DRC ) )
|
if( Drc_On &&( Drc( this, DC, Via, m_Pcb->m_Track, 1 ) == BAD_DRC ) )
|
||||||
{
|
{
|
||||||
/* DRC fault: the Via cannot be placed here ... */
|
/* DRC fault: the Via cannot be placed here ... */
|
||||||
|
|
|
@ -607,6 +607,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
|
||||||
NewVia->m_Shape = VIA_NORMALE;
|
NewVia->m_Shape = VIA_NORMALE;
|
||||||
else
|
else
|
||||||
NewVia->m_Shape = VIA_ENTERREE;
|
NewVia->m_Shape = VIA_ENTERREE;
|
||||||
|
|
||||||
NewVia->Insert( m_Pcb, NULL );
|
NewVia->Insert( m_Pcb, NULL );
|
||||||
NbTrack++;
|
NbTrack++;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue