Show() improvements
This commit is contained in:
parent
c1e3416a8f
commit
79de635217
|
@ -259,6 +259,7 @@ SEARCH_RESULT EDA_BaseStruct::IterateForward( EDA_BaseStruct* listStart,
|
||||||
|
|
||||||
|
|
||||||
// see base_struct.h
|
// see base_struct.h
|
||||||
|
// many classes inherit this method, be careful:
|
||||||
SEARCH_RESULT EDA_BaseStruct::Visit( INSPECTOR* inspector, const void* testData,
|
SEARCH_RESULT EDA_BaseStruct::Visit( INSPECTOR* inspector, const void* testData,
|
||||||
const KICAD_T scanTypes[] )
|
const KICAD_T scanTypes[] )
|
||||||
{
|
{
|
||||||
|
|
|
@ -267,22 +267,52 @@ bool BOARD::ComputeBoundaryBox( void )
|
||||||
*/
|
*/
|
||||||
void BOARD::Show( int nestLevel, std::ostream& os )
|
void BOARD::Show( int nestLevel, std::ostream& os )
|
||||||
{
|
{
|
||||||
|
EDA_BaseStruct* p;
|
||||||
|
|
||||||
// for now, make it look like XML:
|
// for now, make it look like XML:
|
||||||
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << ">\n";
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << ">\n";
|
||||||
|
|
||||||
// specialization of the output:
|
// specialization of the output:
|
||||||
EDA_BaseStruct* p = m_Modules;
|
NestedSpace( nestLevel+1, os ) << "<modules>\n";
|
||||||
|
p = m_Modules;
|
||||||
for( ; p; p = p->Pnext )
|
for( ; p; p = p->Pnext )
|
||||||
p->Show( nestLevel+1, os );
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</modules>\n";
|
||||||
|
|
||||||
|
NestedSpace( nestLevel+1, os ) << "<pdrawings>\n";
|
||||||
p = m_Drawings;
|
p = m_Drawings;
|
||||||
for( ; p; p = p->Pnext )
|
for( ; p; p = p->Pnext )
|
||||||
p->Show( nestLevel+1, os );
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</pdrawings>\n";
|
||||||
|
|
||||||
EDA_BaseStruct* kid = m_Son;
|
NestedSpace( nestLevel+1, os ) << "<nets>\n";
|
||||||
for( ; kid; kid = kid->Pnext )
|
p = m_Equipots;
|
||||||
|
for( ; p; p = p->Pnext )
|
||||||
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</nets>\n";
|
||||||
|
|
||||||
|
NestedSpace( nestLevel+1, os ) << "<tracks>\n";
|
||||||
|
p = m_Track;
|
||||||
|
for( ; p; p = p->Pnext )
|
||||||
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</tracks>\n";
|
||||||
|
|
||||||
|
NestedSpace( nestLevel+1, os ) << "<zones>\n";
|
||||||
|
p = m_Zone;
|
||||||
|
for( ; p; p = p->Pnext )
|
||||||
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</zones>\n";
|
||||||
|
|
||||||
|
NestedSpace( nestLevel+1, os ) << "<edgezones>\n";
|
||||||
|
p = m_CurrentLimitZone;
|
||||||
|
for( ; p; p = p->Pnext )
|
||||||
|
p->Show( nestLevel+2, os );
|
||||||
|
NestedSpace( nestLevel+1, os ) << "</edgezones>\n";
|
||||||
|
|
||||||
|
p = m_Son;
|
||||||
|
for( ; p; p = p->Pnext )
|
||||||
{
|
{
|
||||||
kid->Show( nestLevel+1, os );
|
p->Show( nestLevel+1, os );
|
||||||
}
|
}
|
||||||
|
|
||||||
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
||||||
|
@ -299,10 +329,8 @@ EDA_BaseStruct* BOARD::FindPadOrModule( const wxPoint& refPos, int layer )
|
||||||
int layer;
|
int layer;
|
||||||
|
|
||||||
PadOrModule( int alayer ) :
|
PadOrModule( int alayer ) :
|
||||||
found(0), // found is NULL
|
found(0), layer(alayer)
|
||||||
layer(alayer)
|
{}
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
SEARCH_RESULT Inspect( EDA_BaseStruct* testItem, const void* testData )
|
SEARCH_RESULT Inspect( EDA_BaseStruct* testItem, const void* testData )
|
||||||
{
|
{
|
||||||
|
@ -326,14 +354,17 @@ EDA_BaseStruct* BOARD::FindPadOrModule( const wxPoint& refPos, int layer )
|
||||||
{
|
{
|
||||||
if( testItem->HitTest( refPos ) )
|
if( testItem->HitTest( refPos ) )
|
||||||
{
|
{
|
||||||
// save regardless of layer test, but only quit if
|
|
||||||
// layer matches, otherwise use this item if no future
|
|
||||||
// layer match.
|
|
||||||
found = testItem;
|
|
||||||
|
|
||||||
if( layer == mlayer )
|
if( layer == mlayer )
|
||||||
|
{
|
||||||
|
found = testItem;
|
||||||
return SEARCH_QUIT;
|
return SEARCH_QUIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// layer mismatch, save in case we don't find a
|
||||||
|
// future layer match hit.
|
||||||
|
if( !found )
|
||||||
|
found = testItem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return SEARCH_CONTINUE;
|
return SEARCH_CONTINUE;
|
||||||
|
|
|
@ -515,7 +515,7 @@ bool EDGE_MODULE::HitTest( const wxPoint& ref_pos )
|
||||||
*/
|
*/
|
||||||
void EDGE_MODULE::Show( int nestLevel, std::ostream& os )
|
void EDGE_MODULE::Show( int nestLevel, std::ostream& os )
|
||||||
{
|
{
|
||||||
const char* cp = "???";
|
const char* cp;
|
||||||
|
|
||||||
switch( m_Shape )
|
switch( m_Shape )
|
||||||
{
|
{
|
||||||
|
@ -528,16 +528,17 @@ void EDGE_MODULE::Show( int nestLevel, std::ostream& os )
|
||||||
case S_SPOT_CIRCLE: cp = "spot_circle"; break;
|
case S_SPOT_CIRCLE: cp = "spot_circle"; break;
|
||||||
case S_SPOT_RECT: cp = "spot_rect"; break;
|
case S_SPOT_RECT: cp = "spot_rect"; break;
|
||||||
case S_POLYGON: cp = "polygon"; break;
|
case S_POLYGON: cp = "polygon"; break;
|
||||||
|
default: cp = "??EDGE??"; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// for now, make it look like XML:
|
// for now, make it look like XML:
|
||||||
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
||||||
" type=\"" << cp << "\">\n";
|
" type=\"" << cp << "\">";
|
||||||
|
|
||||||
NestedSpace( nestLevel+1, os ) << "<start" << m_Start0 << "/>\n";
|
os << " <start" << m_Start0 << "/>";
|
||||||
NestedSpace( nestLevel+1, os ) << "<end" << m_End0 << "/>\n";
|
os << " <end" << m_End0 << "/>";
|
||||||
|
|
||||||
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
os << " </" << GetClass().Lower().mb_str() << ">\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -146,3 +146,20 @@ int EQUIPOT:: WriteEquipotDescr( FILE* File )
|
||||||
fprintf( File, "$EndEQUIPOT\n" );
|
fprintf( File, "$EndEQUIPOT\n" );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(DEBUG)
|
||||||
|
/**
|
||||||
|
* Function Show
|
||||||
|
* is used to output the object tree, currently for debugging only.
|
||||||
|
* @param nestLevel An aid to prettier tree indenting, and is the level
|
||||||
|
* of nesting of this object within the overall tree.
|
||||||
|
* @param os The ostream& to output to.
|
||||||
|
*/
|
||||||
|
void EQUIPOT::Show( int nestLevel, std::ostream& os )
|
||||||
|
{
|
||||||
|
// for now, make it look like XML:
|
||||||
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
||||||
|
" name=\"" << m_Netname.mb_str() << '"' <<
|
||||||
|
" netcode=\"" << m_NetCode << "\"/>\n";
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -31,6 +31,28 @@ public:
|
||||||
/* Readind and writing data on files */
|
/* Readind and writing data on files */
|
||||||
int ReadEquipotDescr( FILE* File, int* LineNum );
|
int ReadEquipotDescr( FILE* File, int* LineNum );
|
||||||
int WriteEquipotDescr( FILE* File );
|
int WriteEquipotDescr( FILE* File );
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(DEBUG)
|
||||||
|
/**
|
||||||
|
* Function GetClass
|
||||||
|
* returns the class name.
|
||||||
|
* @return wxString
|
||||||
|
*/
|
||||||
|
wxString GetClass() const
|
||||||
|
{
|
||||||
|
return wxT("NET");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function Show
|
||||||
|
* is used to output the object tree, currently for debugging only.
|
||||||
|
* @param nestLevel An aid to prettier tree indenting, and is the level
|
||||||
|
* of nesting of this object within the overall tree.
|
||||||
|
* @param os The ostream& to output to.
|
||||||
|
*/
|
||||||
|
virtual void Show( int nestLevel, std::ostream& os );
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1192,17 +1192,17 @@ void MODULE::Show( int nestLevel, std::ostream& os )
|
||||||
|
|
||||||
EDA_BaseStruct* p;
|
EDA_BaseStruct* p;
|
||||||
|
|
||||||
NestedSpace( nestLevel+1, os ) << "<pads>\n";
|
NestedSpace( nestLevel+1, os ) << "<mpads>\n";
|
||||||
p = m_Pads;
|
p = m_Pads;
|
||||||
for( ; p; p = p->Pnext )
|
for( ; p; p = p->Pnext )
|
||||||
p->Show( nestLevel+2, os );
|
p->Show( nestLevel+2, os );
|
||||||
NestedSpace( nestLevel+1, os ) << "</pads>\n";
|
NestedSpace( nestLevel+1, os ) << "</mpads>\n";
|
||||||
|
|
||||||
NestedSpace( nestLevel+1, os ) << "<drawings>\n";
|
NestedSpace( nestLevel+1, os ) << "<mdrawings>\n";
|
||||||
p = m_Drawings;
|
p = m_Drawings;
|
||||||
for( ; p; p = p->Pnext )
|
for( ; p; p = p->Pnext )
|
||||||
p->Show( nestLevel+2, os );
|
p->Show( nestLevel+2, os );
|
||||||
NestedSpace( nestLevel+1, os ) << "</drawings>\n";
|
NestedSpace( nestLevel+1, os ) << "</mdrawings>\n";
|
||||||
|
|
||||||
p = m_Son;
|
p = m_Son;
|
||||||
for( ; p; p = p->Pnext )
|
for( ; p; p = p->Pnext )
|
||||||
|
@ -1228,6 +1228,12 @@ SEARCH_RESULT MODULE::Visit( INSPECTOR* inspector, const void* testData,
|
||||||
if( SEARCH_QUIT == inspector->Inspect( this, testData ) )
|
if( SEARCH_QUIT == inspector->Inspect( this, testData ) )
|
||||||
return SEARCH_QUIT;
|
return SEARCH_QUIT;
|
||||||
}
|
}
|
||||||
|
else if( stype == TYPEPAD )
|
||||||
|
{
|
||||||
|
if( SEARCH_QUIT == IterateForward( m_Pads, inspector,
|
||||||
|
testData, scanTypes ) )
|
||||||
|
return SEARCH_QUIT;
|
||||||
|
}
|
||||||
else if( stype == TYPETEXTEMODULE )
|
else if( stype == TYPETEXTEMODULE )
|
||||||
{
|
{
|
||||||
if( SEARCH_QUIT == inspector->Inspect( m_Reference, testData ) )
|
if( SEARCH_QUIT == inspector->Inspect( m_Reference, testData ) )
|
||||||
|
@ -1241,12 +1247,6 @@ SEARCH_RESULT MODULE::Visit( INSPECTOR* inspector, const void* testData,
|
||||||
testData, scanTypes ) )
|
testData, scanTypes ) )
|
||||||
return SEARCH_QUIT;
|
return SEARCH_QUIT;
|
||||||
}
|
}
|
||||||
else if( stype == TYPEPAD )
|
|
||||||
{
|
|
||||||
if( SEARCH_QUIT == IterateForward( m_Pads, inspector,
|
|
||||||
testData, scanTypes ) )
|
|
||||||
return SEARCH_QUIT;
|
|
||||||
}
|
|
||||||
else if( stype == TYPEEDGEMODULE )
|
else if( stype == TYPEEDGEMODULE )
|
||||||
{
|
{
|
||||||
// iterate over m_Drawings
|
// iterate over m_Drawings
|
||||||
|
|
|
@ -1019,16 +1019,13 @@ void D_PAD::Show( int nestLevel, std::ostream& os )
|
||||||
char padname[5] = { m_Padname[0], m_Padname[1], m_Padname[2], m_Padname[3], 0 };
|
char padname[5] = { m_Padname[0], m_Padname[1], m_Padname[2], m_Padname[3], 0 };
|
||||||
|
|
||||||
char layerMask[16];
|
char layerMask[16];
|
||||||
|
sprintf( layerMask, "0x%08X", m_Masque_Layer );
|
||||||
sprintf( layerMask, "%08X", m_Masque_Layer );
|
|
||||||
|
|
||||||
// for now, make it look like XML:
|
// for now, make it look like XML:
|
||||||
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
||||||
" num=\"" << padname << '"' <<
|
" num=\"" << padname << '"' <<
|
||||||
" net=\"" << m_Netname.mb_str() << '"' <<
|
" net=\"" << m_Netname.mb_str() << '"' <<
|
||||||
" layerMask=\"" << layerMask << '"' <<
|
" layerMask=\"" << layerMask << '"' << m_Pos << "/>\n";
|
||||||
" pos=\"(" << m_Pos.x << ',' << m_Pos.y << ")\"" <<
|
|
||||||
"/>\n";
|
|
||||||
|
|
||||||
// NestedSpace( nestLevel+1, os ) << m_Text.mb_str() << '\n';
|
// NestedSpace( nestLevel+1, os ) << m_Text.mb_str() << '\n';
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ TRACK::TRACK( EDA_BaseStruct* StructFather, DrawStructureType idtype ) :
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SEGZONE::SEGZONE( EDA_BaseStruct* StructFather ) :
|
SEGZONE::SEGZONE( EDA_BaseStruct* StructFather ) :
|
||||||
TRACK( StructFather, TYPEZONE )
|
TRACK( StructFather, TYPEZONE )
|
||||||
{
|
{
|
||||||
|
@ -459,9 +460,8 @@ TRACK* TRACK:: Copy( int NbSegm )
|
||||||
bool TRACK::WriteTrackDescr( FILE* File )
|
bool TRACK::WriteTrackDescr( FILE* File )
|
||||||
/********************************************/
|
/********************************************/
|
||||||
{
|
{
|
||||||
int type;
|
int type = 0;
|
||||||
|
|
||||||
type = 0;
|
|
||||||
if( m_StructType == TYPEVIA )
|
if( m_StructType == TYPEVIA )
|
||||||
type = 1;
|
type = 1;
|
||||||
|
|
||||||
|
@ -474,6 +474,7 @@ bool TRACK::WriteTrackDescr( FILE* File )
|
||||||
fprintf( File, "De %d %d %d %lX %X\n",
|
fprintf( File, "De %d %d %d %lX %X\n",
|
||||||
m_Layer, type, m_NetCode,
|
m_Layer, type, m_NetCode,
|
||||||
m_TimeStamp, ReturnStatus() );
|
m_TimeStamp, ReturnStatus() );
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -674,3 +675,29 @@ bool TRACK::HitTest( const wxPoint& ref_pos )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(DEBUG)
|
||||||
|
/**
|
||||||
|
* Function Show
|
||||||
|
* is used to output the object tree, currently for debugging only.
|
||||||
|
* @param nestLevel An aid to prettier tree indenting, and is the level
|
||||||
|
* of nesting of this object within the overall tree.
|
||||||
|
* @param os The ostream& to output to.
|
||||||
|
*/
|
||||||
|
void TRACK::Show( int nestLevel, std::ostream& os )
|
||||||
|
{
|
||||||
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
||||||
|
" shape=\"" << m_Shape << '"' <<
|
||||||
|
" layer=\"" << m_Layer << '"' <<
|
||||||
|
" width=\"" << m_Width << '"' <<
|
||||||
|
" drill=\"" << m_Drill << '"' <<
|
||||||
|
" netcode=\"" << m_NetCode << "\">" <<
|
||||||
|
"<start" << m_Start << "/>" <<
|
||||||
|
"<end" << m_End << "/>";
|
||||||
|
|
||||||
|
os << "</" << GetClass().Lower().mb_str() << ">\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,6 +95,15 @@ public:
|
||||||
return wxT("TRACK");
|
return wxT("TRACK");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function Show
|
||||||
|
* is used to output the object tree, currently for debugging only.
|
||||||
|
* @param nestLevel An aid to prettier tree indenting, and is the level
|
||||||
|
* of nesting of this object within the overall tree.
|
||||||
|
* @param os The ostream& to output to.
|
||||||
|
*/
|
||||||
|
void Show( int nestLevel, std::ostream& os );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue