copyright change and new TYPE_COLLECTOR class
This commit is contained in:
parent
324fd9ac64
commit
b3fd1b81ee
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KICAD, a free EDA CAD application.
|
* This program source code file is part of KICAD, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Dick Hollenbeck, dick@softplc.com
|
* Copyright (C) 2007-2008 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2007 Kicad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2007 Kicad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
@ -365,4 +365,24 @@ void GENERAL_COLLECTOR::Collect( BOARD_ITEM* aItem, const KICAD_T aScanList[],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// see collectors.h
|
||||||
|
SEARCH_RESULT TYPE_COLLECTOR::Inspect( EDA_BaseStruct* testItem, const void* testData )
|
||||||
|
{
|
||||||
|
// The Vist() function only visits the testItem if its type was in the
|
||||||
|
// the scanList, so therefore we can collect anything given to us here.
|
||||||
|
Append( testItem );
|
||||||
|
|
||||||
|
return SEARCH_CONTINUE; // always when collecting
|
||||||
|
}
|
||||||
|
|
||||||
|
void TYPE_COLLECTOR::Collect( BOARD_ITEM* aBoard, const KICAD_T aScanList[] )
|
||||||
|
{
|
||||||
|
Empty(); // empty any existing collection
|
||||||
|
|
||||||
|
// visit the board with the INSPECTOR (me).
|
||||||
|
aBoard->Visit( this, // INSPECTOR* inspector
|
||||||
|
NULL, // const void* testData,
|
||||||
|
aScanList );
|
||||||
|
}
|
||||||
|
|
||||||
//EOF
|
//EOF
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KICAD, a free EDA CAD application.
|
* This program source code file is part of KICAD, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Dick Hollenbeck, dick@softplc.com
|
* Copyright (C) 2007-2008 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
* Copyright (C) 2004-2007 Kicad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2007 Kicad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
@ -500,4 +500,55 @@ public:
|
||||||
void SetIgnoreModulesOnCmp( bool ignore ) { m_IgnoreModulesOnCmp = ignore; }
|
void SetIgnoreModulesOnCmp( bool ignore ) { m_IgnoreModulesOnCmp = ignore; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class TYPE_COLLECTOR
|
||||||
|
* merely gathers up all BOARD_ITEMs of a given set of KICAD_T type(s).
|
||||||
|
* @see class COLLECTOR
|
||||||
|
*/
|
||||||
|
class TYPE_COLLECTOR : public COLLECTOR
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function operator[int]
|
||||||
|
* overloads COLLECTOR::operator[](int) to return a BOARD_ITEM* instead of
|
||||||
|
* an EDA_BaseStruct* type.
|
||||||
|
* @param ndx The index into the list.
|
||||||
|
* @return BOARD_ITEM* - or something derived from it, or NULL.
|
||||||
|
*/
|
||||||
|
BOARD_ITEM* operator[]( int ndx ) const
|
||||||
|
{
|
||||||
|
if( (unsigned)ndx < (unsigned)GetCount() )
|
||||||
|
return (BOARD_ITEM*) m_List[ ndx ];
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function Inspect
|
||||||
|
* is the examining function within the INSPECTOR which is passed to the
|
||||||
|
* Iterate function.
|
||||||
|
*
|
||||||
|
* @param testItem An EDA_BaseStruct to examine.
|
||||||
|
* @param testData is not used in this class.
|
||||||
|
* @return SEARCH_RESULT - SEARCH_QUIT if the Iterator is to stop the scan,
|
||||||
|
* else SCAN_CONTINUE;
|
||||||
|
*/
|
||||||
|
SEARCH_RESULT Inspect( EDA_BaseStruct* testItem, const void* testData );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function Collect
|
||||||
|
* scans a BOARD_ITEM using this class's Inspector method, which does
|
||||||
|
* the collection.
|
||||||
|
* @param aBoard The BOARD_ITEM to scan.
|
||||||
|
* @param aScanList The KICAD_Ts to gather up.
|
||||||
|
*/
|
||||||
|
void Collect( BOARD_ITEM* aBoard, const KICAD_T aScanList[] );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // COLLECTORS_H
|
#endif // COLLECTORS_H
|
||||||
|
|
Loading…
Reference in New Issue