Commit 79de6352 authored by dickelbeck's avatar dickelbeck
Browse files

Show() improvements

parent c1e3416a
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -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[] )
{
{
+46 −15
Original line number Original line Diff line number Diff line
@@ -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";
    
    NestedSpace( nestLevel+1, os ) << "<nets>\n";
    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";
    
    
    EDA_BaseStruct* kid = m_Son;
    p = m_Son;
    for( ; kid;  kid = kid->Pnext )
    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;
+7 −6
Original line number Original line Diff line number Diff line
@@ -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
+17 −0
Original line number Original line Diff line number Diff line
@@ -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
+51 −29
Original line number Original line Diff line number Diff line
@@ -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
    
};
Loading