Component library object refactoring and minor code cleaning.
This commit is contained in:
parent
f360d5ccb6
commit
0c3541b7c1
|
@ -103,7 +103,6 @@ SCH_SHEET* SCH_SHEET::GenCopy()
|
||||||
{
|
{
|
||||||
SCH_SHEET* newitem = new SCH_SHEET( m_Pos );
|
SCH_SHEET* newitem = new SCH_SHEET( m_Pos );
|
||||||
|
|
||||||
|
|
||||||
newitem->m_Size = m_Size;
|
newitem->m_Size = m_Size;
|
||||||
newitem->SetParent( m_Parent );
|
newitem->SetParent( m_Parent );
|
||||||
newitem->m_TimeStamp = GetTimeStamp();
|
newitem->m_TimeStamp = GetTimeStamp();
|
||||||
|
@ -206,13 +205,13 @@ bool SCH_SHEET::HasLabel( const wxString& aName )
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SCH_SHEET::IsVerticalOrientation()
|
bool SCH_SHEET::IsVerticalOrientation()
|
||||||
{
|
{
|
||||||
BOOST_FOREACH( SCH_SHEET_PIN label, m_labels )
|
BOOST_FOREACH( SCH_SHEET_PIN label, m_labels )
|
||||||
{
|
{
|
||||||
if( label.GetEdge()>1 )
|
if( label.GetEdge() > 1 )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -323,11 +322,10 @@ void SCH_SHEET::CleanupSheet()
|
||||||
|
|
||||||
SCH_SHEET_PIN* SCH_SHEET::GetLabel( const wxPoint& aPosition )
|
SCH_SHEET_PIN* SCH_SHEET::GetLabel( const wxPoint& aPosition )
|
||||||
{
|
{
|
||||||
int size, dy, minx, maxx;
|
|
||||||
|
|
||||||
BOOST_FOREACH( SCH_SHEET_PIN& label, m_labels )
|
BOOST_FOREACH( SCH_SHEET_PIN& label, m_labels )
|
||||||
{
|
{
|
||||||
if (label.HitTest(aPosition)) return &label;
|
if( label.HitTest( aPosition ) )
|
||||||
|
return &label;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -371,17 +369,17 @@ void SCH_SHEET::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
|
||||||
|
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y,
|
GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y,
|
||||||
pos.x + m_Size.x, pos.y + m_Size.y, LineWidth, color );
|
pos.x + m_Size.x, pos.y + m_Size.y, LineWidth, color );
|
||||||
if (IsVerticalOrientation())
|
if( IsVerticalOrientation() )
|
||||||
{
|
{
|
||||||
pos_sheetname=wxPoint( pos.x-8, pos.y+m_Size.y );
|
pos_sheetname = wxPoint( pos.x-8, pos.y+m_Size.y );
|
||||||
pos_filename=wxPoint( pos.x+m_Size.x+4, pos.y+m_Size.y );
|
pos_filename = wxPoint( pos.x+m_Size.x+4, pos.y+m_Size.y );
|
||||||
name_orientation=TEXT_ORIENT_VERT;
|
name_orientation = TEXT_ORIENT_VERT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pos_sheetname=wxPoint( pos.x, pos.y - 8 );
|
pos_sheetname = wxPoint( pos.x, pos.y - 8 );
|
||||||
pos_filename=wxPoint( pos.x, pos.y + m_Size.y + 4 );
|
pos_filename = wxPoint( pos.x, pos.y + m_Size.y + 4 );
|
||||||
name_orientation=TEXT_ORIENT_HORIZ;
|
name_orientation = TEXT_ORIENT_HORIZ;
|
||||||
}
|
}
|
||||||
/* Draw text : SheetName */
|
/* Draw text : SheetName */
|
||||||
if( aColor > 0 )
|
if( aColor > 0 )
|
||||||
|
@ -756,21 +754,28 @@ void SCH_SHEET::DisplayInfo( WinEDA_DrawFrame* frame )
|
||||||
|
|
||||||
void SCH_SHEET::Rotate(wxPoint rotationPoint)
|
void SCH_SHEET::Rotate(wxPoint rotationPoint)
|
||||||
{
|
{
|
||||||
RotatePoint(&m_Pos,rotationPoint,900);
|
RotatePoint( &m_Pos, rotationPoint, 900 );
|
||||||
RotatePoint(&m_Size.x,&m_Size.y,900);
|
RotatePoint( &m_Size.x, &m_Size.y, 900 );
|
||||||
if (m_Size.x<0) {
|
|
||||||
m_Pos.x+=m_Size.x;
|
if( m_Size.x < 0 )
|
||||||
NEGATE(m_Size.x);
|
{
|
||||||
|
m_Pos.x += m_Size.x;
|
||||||
|
NEGATE( m_Size.x );
|
||||||
}
|
}
|
||||||
if (m_Size.y<0) {
|
|
||||||
m_Pos.y+=m_Size.y;
|
if( m_Size.y < 0 )
|
||||||
NEGATE(m_Size.y);
|
{
|
||||||
|
m_Pos.y += m_Size.y;
|
||||||
|
NEGATE( m_Size.y );
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_FOREACH( SCH_SHEET_PIN& sheetPin, m_labels )
|
BOOST_FOREACH( SCH_SHEET_PIN& sheetPin, m_labels )
|
||||||
{
|
{
|
||||||
sheetPin.Rotate( rotationPoint );
|
sheetPin.Rotate( rotationPoint );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_SHEET::Mirror_X( int aXaxis_position )
|
void SCH_SHEET::Mirror_X( int aXaxis_position )
|
||||||
{
|
{
|
||||||
m_Pos.y -= aXaxis_position;
|
m_Pos.y -= aXaxis_position;
|
||||||
|
@ -782,6 +787,8 @@ void SCH_SHEET::Mirror_X( int aXaxis_position )
|
||||||
sheetPin.Mirror_X( aXaxis_position );
|
sheetPin.Mirror_X( aXaxis_position );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** virtual function Mirror_Y
|
/** virtual function Mirror_Y
|
||||||
* mirror item relative to an Y axis
|
* mirror item relative to an Y axis
|
||||||
* @param aYaxis_position = the y axis position
|
* @param aYaxis_position = the y axis position
|
||||||
|
@ -811,7 +818,7 @@ void SCH_SHEET::Resize( const wxSize& aSize )
|
||||||
/* Move the sheet labels according to the new sheet size. */
|
/* Move the sheet labels according to the new sheet size. */
|
||||||
BOOST_FOREACH( SCH_SHEET_PIN& label, m_labels )
|
BOOST_FOREACH( SCH_SHEET_PIN& label, m_labels )
|
||||||
{
|
{
|
||||||
label.ConstraintOnEdge(label.m_Pos);
|
label.ConstraintOnEdge( label.m_Pos );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -384,9 +384,7 @@ void LIB_COMPONENT::Plot( PLOTTER* aPlotter, int aUnit, int aConvert,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LIB_COMPONENT::RemoveDrawItem( LIB_DRAW_ITEM* aItem,
|
void LIB_COMPONENT::RemoveDrawItem( LIB_DRAW_ITEM* aItem, WinEDA_DrawPanel* aPanel, wxDC* aDc )
|
||||||
WinEDA_DrawPanel* aPanel,
|
|
||||||
wxDC* aDc )
|
|
||||||
{
|
{
|
||||||
wxASSERT( aItem != NULL );
|
wxASSERT( aItem != NULL );
|
||||||
|
|
||||||
|
@ -409,8 +407,7 @@ from component %s in library %s." ),
|
||||||
LIB_DRAW_ITEM_LIST::iterator i;
|
LIB_DRAW_ITEM_LIST::iterator i;
|
||||||
|
|
||||||
if( aDc != NULL )
|
if( aDc != NULL )
|
||||||
aItem->Draw( aPanel, aDc, wxPoint( 0, 0 ), -1, g_XorMode, NULL,
|
aItem->Draw( aPanel, aDc, wxPoint( 0, 0 ), -1, g_XorMode, NULL, DefaultTransformMatrix );
|
||||||
DefaultTransformMatrix );
|
|
||||||
|
|
||||||
for( i = drawings.begin(); i < drawings.end(); i++ )
|
for( i = drawings.begin(); i < drawings.end(); i++ )
|
||||||
{
|
{
|
||||||
|
@ -432,8 +429,7 @@ void LIB_COMPONENT::AddDrawItem( LIB_DRAW_ITEM* aItem )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LIB_DRAW_ITEM* LIB_COMPONENT::GetNextDrawItem( LIB_DRAW_ITEM* aItem,
|
LIB_DRAW_ITEM* LIB_COMPONENT::GetNextDrawItem( LIB_DRAW_ITEM* aItem, KICAD_T aType )
|
||||||
KICAD_T aType )
|
|
||||||
{
|
{
|
||||||
/* Return the next draw object pointer.
|
/* Return the next draw object pointer.
|
||||||
* If item is NULL return the first item of type in the list.
|
* If item is NULL return the first item of type in the list.
|
||||||
|
@ -674,8 +670,7 @@ bool LIB_COMPONENT::Load( FILE* aFile, char* aLine, int* aLineNum,
|
||||||
|
|
||||||
if( strcmp( p, "DEF" ) != 0 )
|
if( strcmp( p, "DEF" ) != 0 )
|
||||||
{
|
{
|
||||||
aErrorMsg.Printf( wxT( "DEF command expected in line %d, aborted." ),
|
aErrorMsg.Printf( wxT( "DEF command expected in line %d, aborted." ), *aLineNum );
|
||||||
*aLineNum );
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -696,8 +691,7 @@ bool LIB_COMPONENT::Load( FILE* aFile, char* aLine, int* aLineNum,
|
||||||
|| ( p = strtok( NULL, " \t\n" ) ) == NULL /* unitCount: */
|
|| ( p = strtok( NULL, " \t\n" ) ) == NULL /* unitCount: */
|
||||||
|| sscanf( p, "%d", &unitCount ) != 1 )
|
|| sscanf( p, "%d", &unitCount ) != 1 )
|
||||||
{
|
{
|
||||||
aErrorMsg.Printf( wxT( "Wrong DEF format in line %d, skipped." ),
|
aErrorMsg.Printf( wxT( "Wrong DEF format in line %d, skipped." ), *aLineNum );
|
||||||
*aLineNum );
|
|
||||||
while( GetLine( aFile, aLine, aLineNum, LINE_BUFFER_LEN_LARGE ) )
|
while( GetLine( aFile, aLine, aLineNum, LINE_BUFFER_LEN_LARGE ) )
|
||||||
{
|
{
|
||||||
p = strtok( aLine, " \t\n" );
|
p = strtok( aLine, " \t\n" );
|
||||||
|
@ -901,7 +895,7 @@ bool LIB_COMPONENT::LoadField( char* aLine, wxString& aErrorMsg )
|
||||||
LIB_FIELD* fixedField = GetField( field->m_FieldId );
|
LIB_FIELD* fixedField = GetField( field->m_FieldId );
|
||||||
|
|
||||||
// this will fire only if somebody broke a constructor or editor.
|
// this will fire only if somebody broke a constructor or editor.
|
||||||
// MANDATORY_FIELDS are alway present in ram resident components, no
|
// MANDATORY_FIELDS are always present in ram resident components, no
|
||||||
// exceptions, and they always have their names set, even fixed fields.
|
// exceptions, and they always have their names set, even fixed fields.
|
||||||
wxASSERT( fixedField );
|
wxASSERT( fixedField );
|
||||||
|
|
||||||
|
@ -960,8 +954,7 @@ EDA_Rect LIB_COMPONENT::GetBoundaryBox( int aUnit, int aConvert )
|
||||||
&& ( aUnit != item.m_Unit ) ) )
|
&& ( aUnit != item.m_Unit ) ) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if( item.m_Convert > 0
|
if( item.m_Convert > 0 && ( ( aConvert > 0 ) && ( aConvert != item.m_Convert ) ) )
|
||||||
&& ( ( aConvert > 0 ) && ( aConvert != item.m_Convert ) ) )
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ( ( item.Type() == COMPONENT_FIELD_DRAW_TYPE )
|
if ( ( item.Type() == COMPONENT_FIELD_DRAW_TYPE )
|
||||||
|
@ -1006,7 +999,7 @@ void LIB_COMPONENT::SetFields( const std::vector <LIB_FIELD>& aFields )
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reorder drawings: transparent polygons first, pins and text last.
|
// Reorder drawings: transparent polygons first, pins and text last.
|
||||||
// so texts have priority on sreen.
|
// so texts have priority on screen.
|
||||||
drawings.sort();
|
drawings.sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1113,8 +1106,7 @@ bool LIB_COMPONENT::SaveDateAndTime( FILE* aFile )
|
||||||
mon = ( m_dateModified >> 22 ) & 15;
|
mon = ( m_dateModified >> 22 ) & 15;
|
||||||
year = ( m_dateModified >> 26 ) + 1990;
|
year = ( m_dateModified >> 26 ) + 1990;
|
||||||
|
|
||||||
if ( fprintf( aFile, "Ti %d/%d/%d %d:%d:%d\n",
|
if ( fprintf( aFile, "Ti %d/%d/%d %d:%d:%d\n", year, mon, day, hour, min, sec ) < 0 )
|
||||||
year, mon, day, hour, min, sec ) < 0 )
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1132,8 +1124,7 @@ bool LIB_COMPONENT::LoadDateAndTime( char* aLine )
|
||||||
text = strtok( aLine, " \r\t\n" );
|
text = strtok( aLine, " \r\t\n" );
|
||||||
text = strtok( NULL, " \r\t\n" );
|
text = strtok( NULL, " \r\t\n" );
|
||||||
|
|
||||||
if (sscanf( aLine, "%d/%d/%d %d:%d:%d",
|
if (sscanf( aLine, "%d/%d/%d %d:%d:%d", &year, &mon, &day, &hour, &min, &sec ) != 6 )
|
||||||
&year, &mon, &day, &hour, &min, &sec ) != 6 )
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
m_dateModified = ( sec & 63 ) + ( ( min & 63 ) << 6 ) +
|
m_dateModified = ( sec & 63 ) + ( ( min & 63 ) << 6 ) +
|
||||||
|
@ -1239,7 +1230,7 @@ void LIB_COMPONENT::DeleteSelectedItems()
|
||||||
// We *do not* remove the 2 mandatory fields: reference and value
|
// We *do not* remove the 2 mandatory fields: reference and value
|
||||||
// so skip them (do not remove) if they are flagged selected.
|
// so skip them (do not remove) if they are flagged selected.
|
||||||
// Skip also not visible items.
|
// Skip also not visible items.
|
||||||
// But I think fileds must not be deleted by a block delete command or other global command
|
// But I think fields must not be deleted by a block delete command or other global command
|
||||||
// because they are not really graphic items
|
// because they are not really graphic items
|
||||||
while( item != drawings.end() )
|
while( item != drawings.end() )
|
||||||
{
|
{
|
||||||
|
@ -1487,11 +1478,11 @@ int LIB_COMPONENT::LocateAliasData( const wxString & aAliasName, bool aCreateIfN
|
||||||
if( aCreateIfNotExist && (idx < 0) )
|
if( aCreateIfNotExist && (idx < 0) )
|
||||||
{
|
{
|
||||||
idx = (int) m_aliasListData.size();
|
idx = (int) m_aliasListData.size();
|
||||||
m_aliasListData.Add(aAliasName);
|
m_aliasListData.Add( aAliasName );
|
||||||
// Add void strinds for data:
|
// Add void strings for data:
|
||||||
m_aliasListData.Add(wxEmptyString); //Doc string
|
m_aliasListData.Add( wxEmptyString ); //Doc string
|
||||||
m_aliasListData.Add(wxEmptyString); //keywords string
|
m_aliasListData.Add( wxEmptyString ); //keywords string
|
||||||
m_aliasListData.Add(wxEmptyString); //Doc fliname string
|
m_aliasListData.Add( wxEmptyString ); //Doc fliname string
|
||||||
}
|
}
|
||||||
|
|
||||||
return idx;
|
return idx;
|
||||||
|
@ -1505,7 +1496,7 @@ int LIB_COMPONENT::LocateAliasData( const wxString & aAliasName, bool aCreateIfN
|
||||||
wxString LIB_COMPONENT::GetAliasDataDoc( const wxString & aAliasName )
|
wxString LIB_COMPONENT::GetAliasDataDoc( const wxString & aAliasName )
|
||||||
{
|
{
|
||||||
wxString data;
|
wxString data;
|
||||||
int idx = LocateAliasData( aAliasName);
|
int idx = LocateAliasData( aAliasName );
|
||||||
if ( idx >= 0 )
|
if ( idx >= 0 )
|
||||||
data = m_aliasListData[idx + ALIAS_DOC_IDX];
|
data = m_aliasListData[idx + ALIAS_DOC_IDX];
|
||||||
|
|
||||||
|
@ -1520,7 +1511,7 @@ wxString LIB_COMPONENT::GetAliasDataDoc( const wxString & aAliasName )
|
||||||
wxString LIB_COMPONENT::GetAliasDataKeyWords( const wxString & aAliasName )
|
wxString LIB_COMPONENT::GetAliasDataKeyWords( const wxString & aAliasName )
|
||||||
{
|
{
|
||||||
wxString data;
|
wxString data;
|
||||||
int idx = LocateAliasData( aAliasName);
|
int idx = LocateAliasData( aAliasName );
|
||||||
if ( idx >= 0 )
|
if ( idx >= 0 )
|
||||||
data = m_aliasListData[idx + ALIAS_KEYWORD_IDX];
|
data = m_aliasListData[idx + ALIAS_KEYWORD_IDX];
|
||||||
|
|
||||||
|
@ -1535,7 +1526,7 @@ wxString LIB_COMPONENT::GetAliasDataKeyWords( const wxString & aAliasName )
|
||||||
wxString LIB_COMPONENT::GetAliasDataDocFileName( const wxString & aAliasName )
|
wxString LIB_COMPONENT::GetAliasDataDocFileName( const wxString & aAliasName )
|
||||||
{
|
{
|
||||||
wxString data;
|
wxString data;
|
||||||
int idx = LocateAliasData( aAliasName);
|
int idx = LocateAliasData( aAliasName );
|
||||||
if ( idx >= 0 )
|
if ( idx >= 0 )
|
||||||
data = m_aliasListData[idx + ALIAS_DOC_FILENAME_IDX];
|
data = m_aliasListData[idx + ALIAS_DOC_FILENAME_IDX];
|
||||||
|
|
||||||
|
@ -1550,7 +1541,7 @@ wxString LIB_COMPONENT::GetAliasDataDocFileName( const wxString & aAliasName )
|
||||||
*/
|
*/
|
||||||
void LIB_COMPONENT::SetAliasDataDoc( const wxString & aAliasName, const wxString & aAliasData )
|
void LIB_COMPONENT::SetAliasDataDoc( const wxString & aAliasName, const wxString & aAliasData )
|
||||||
{
|
{
|
||||||
int idx = LocateAliasData( aAliasName, true);
|
int idx = LocateAliasData( aAliasName, true );
|
||||||
m_aliasListData[idx + ALIAS_DOC_IDX] = aAliasData;
|
m_aliasListData[idx + ALIAS_DOC_IDX] = aAliasData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1560,7 +1551,7 @@ void LIB_COMPONENT::SetAliasDataDoc( const wxString & aAliasName, const wxString
|
||||||
*/
|
*/
|
||||||
void LIB_COMPONENT::SetAliasDataKeywords( const wxString & aAliasName, const wxString & aAliasData )
|
void LIB_COMPONENT::SetAliasDataKeywords( const wxString & aAliasName, const wxString & aAliasData )
|
||||||
{
|
{
|
||||||
int idx = LocateAliasData( aAliasName, true);
|
int idx = LocateAliasData( aAliasName, true );
|
||||||
m_aliasListData[idx + ALIAS_KEYWORD_IDX] = aAliasData;
|
m_aliasListData[idx + ALIAS_KEYWORD_IDX] = aAliasData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1568,9 +1559,10 @@ void LIB_COMPONENT::SetAliasDataKeywords( const wxString & aAliasName, const wxS
|
||||||
* @param aAliasName = the alias name
|
* @param aAliasName = the alias name
|
||||||
* @param aAliasData = the Doc filename string
|
* @param aAliasData = the Doc filename string
|
||||||
*/
|
*/
|
||||||
void LIB_COMPONENT::SetAliasDataDocFileName( const wxString & aAliasName, const wxString & aAliasData )
|
void LIB_COMPONENT::SetAliasDataDocFileName( const wxString & aAliasName,
|
||||||
|
const wxString & aAliasData )
|
||||||
{
|
{
|
||||||
int idx = LocateAliasData( aAliasName, true);
|
int idx = LocateAliasData( aAliasName, true );
|
||||||
m_aliasListData[idx + ALIAS_DOC_FILENAME_IDX] = aAliasData;
|
m_aliasListData[idx + ALIAS_DOC_FILENAME_IDX] = aAliasData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1581,9 +1573,9 @@ void LIB_COMPONENT::SetAliasDataDocFileName( const wxString & aAliasName, const
|
||||||
*/
|
*/
|
||||||
void LIB_COMPONENT::RemoveAliasData(const wxString & aAliasName )
|
void LIB_COMPONENT::RemoveAliasData(const wxString & aAliasName )
|
||||||
{
|
{
|
||||||
int idx = LocateAliasData( aAliasName);
|
int idx = LocateAliasData( aAliasName );
|
||||||
if ( idx >= 0 )
|
if ( idx >= 0 )
|
||||||
m_aliasListData.RemoveAt(idx + ALIAS_NAME_IDX, ALIAS_NEXT_IDX);
|
m_aliasListData.RemoveAt( idx + ALIAS_NAME_IDX, ALIAS_NEXT_IDX );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Function CollectAliasesData
|
/** Function CollectAliasesData
|
||||||
|
@ -1595,7 +1587,9 @@ void LIB_COMPONENT::CollectAliasesData( CMP_LIBRARY* aLibrary )
|
||||||
for( unsigned ii = 0; ii < m_AliasList.GetCount(); ii++ )
|
for( unsigned ii = 0; ii < m_AliasList.GetCount(); ii++ )
|
||||||
{
|
{
|
||||||
CMP_LIB_ENTRY* entry = aLibrary->FindEntry( m_AliasList[ii] );
|
CMP_LIB_ENTRY* entry = aLibrary->FindEntry( m_AliasList[ii] );
|
||||||
if ( ! entry ) continue;
|
if ( ! entry )
|
||||||
|
continue;
|
||||||
|
|
||||||
SetAliasDataDoc( m_AliasList[ii], entry->GetDescription() );
|
SetAliasDataDoc( m_AliasList[ii], entry->GetDescription() );
|
||||||
SetAliasDataKeywords( m_AliasList[ii], entry->GetKeyWords() );
|
SetAliasDataKeywords( m_AliasList[ii], entry->GetKeyWords() );
|
||||||
SetAliasDataDocFileName( m_AliasList[ii], entry->GetDocFileName() );
|
SetAliasDataDocFileName( m_AliasList[ii], entry->GetDocFileName() );
|
||||||
|
|
|
@ -132,12 +132,30 @@ extern int LibraryEntryCompare( const CMP_LIB_ENTRY* aItem1, const CMP_LIB_ENTRY
|
||||||
*/
|
*/
|
||||||
class LIB_COMPONENT : public CMP_LIB_ENTRY
|
class LIB_COMPONENT : public CMP_LIB_ENTRY
|
||||||
{
|
{
|
||||||
public:
|
int m_pinNameOffset; ///< The offset in mils to draw the pin name. Set to 0
|
||||||
wxArrayString m_AliasList; /* ALIAS list for the component */
|
///< to draw the pin name above the pin.
|
||||||
wxArrayString m_FootprintList; /* list of suitable footprint names
|
bool m_unitsLocked; ///< True if component has multiple parts and changing
|
||||||
* for the component (wildcard names
|
///< one part does not automatically change another part.
|
||||||
* accepted) */
|
bool m_showPinNames; ///< Determines if component pin names are visible.
|
||||||
|
bool m_showPinNumbers; ///< Determines if component pin numbers are visible.
|
||||||
|
long m_dateModified; ///< Date the component was last modified.
|
||||||
|
LibrEntryOptions m_options; ///< Special component features such as POWER or NORMAL.)
|
||||||
|
int unitCount; ///< Number of units (parts) per package.
|
||||||
|
LIB_DRAW_ITEM_LIST drawings; ///< How to draw this part.
|
||||||
|
wxArrayString m_aliasListData; /* ALIAS data (name, doc, keywords and doc filename).
|
||||||
|
* Used only by the component editor LibEdit
|
||||||
|
* to store aliases info during edition
|
||||||
|
* usually void outside the component editor */
|
||||||
|
wxArrayString m_AliasList; ///< List of alias names for the component.
|
||||||
|
wxArrayString m_FootprintList; /**< List of suitable footprint names for the
|
||||||
|
component (wildcard names accepted). */
|
||||||
|
|
||||||
|
|
||||||
|
void deleteAllFields();
|
||||||
|
|
||||||
|
friend class CMP_LIBRARY;
|
||||||
|
|
||||||
|
public:
|
||||||
/* Offsets used in editing library component,
|
/* Offsets used in editing library component,
|
||||||
* for handle aliases data in m_AliasListData array string
|
* for handle aliases data in m_AliasListData array string
|
||||||
* when editing a library component, aliases data is stored
|
* when editing a library component, aliases data is stored
|
||||||
|
@ -156,25 +174,6 @@ public:
|
||||||
ALIAS_NEXT_IDX = 4
|
ALIAS_NEXT_IDX = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
|
||||||
int m_pinNameOffset; ///< The offset in mils to draw the pin name. Set to 0
|
|
||||||
///< to draw the pin name above the pin.
|
|
||||||
bool m_unitsLocked; ///< True if component has multple parts and changing
|
|
||||||
///< one part does not automatically change another part.
|
|
||||||
bool m_showPinNames; ///< Determines if component pin names are visible.
|
|
||||||
bool m_showPinNumbers; ///< Determines if component pin numbers are visible.
|
|
||||||
long m_dateModified; ///< Date the component was last modified.
|
|
||||||
LibrEntryOptions m_options; // special features (i.e. Entry is a POWER)
|
|
||||||
int unitCount; /* Units (parts) per package */
|
|
||||||
LIB_DRAW_ITEM_LIST drawings; /* How to draw this part */
|
|
||||||
wxArrayString m_aliasListData; /* ALIAS data (name, doc, keywords and doc filename).
|
|
||||||
* Used only by the component editor LibEdit
|
|
||||||
* to store aliases info during edition
|
|
||||||
* usually void outside the component editor */
|
|
||||||
|
|
||||||
void deleteAllFields();
|
|
||||||
|
|
||||||
public:
|
|
||||||
LIB_COMPONENT( const wxString& aName, CMP_LIBRARY* aLibrary = NULL );
|
LIB_COMPONENT( const wxString& aName, CMP_LIBRARY* aLibrary = NULL );
|
||||||
LIB_COMPONENT( LIB_COMPONENT& aComponent, CMP_LIBRARY* aLibrary = NULL );
|
LIB_COMPONENT( LIB_COMPONENT& aComponent, CMP_LIBRARY* aLibrary = NULL );
|
||||||
|
|
||||||
|
@ -192,6 +191,10 @@ public:
|
||||||
GetValueField().m_Text = aName;
|
GetValueField().m_Text = aName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxArrayString& GetAliasList() { return m_AliasList; }
|
||||||
|
|
||||||
|
wxArrayString& GetFootPrints() { return m_FootprintList; }
|
||||||
|
|
||||||
/* accessors to aliases data, used by the component editor, during edition
|
/* accessors to aliases data, used by the component editor, during edition
|
||||||
*/
|
*/
|
||||||
/** Function CollectAliasesData
|
/** Function CollectAliasesData
|
||||||
|
@ -206,7 +209,7 @@ public:
|
||||||
* @param aAliasName = the alias name
|
* @param aAliasName = the alias name
|
||||||
* @param aCreateIfNotExist = true if the alias data must be created, when not exists
|
* @param aCreateIfNotExist = true if the alias data must be created, when not exists
|
||||||
*/
|
*/
|
||||||
int LocateAliasData( const wxString & aAliasName, bool aCreateIfNotExist = false);
|
int LocateAliasData( const wxString & aAliasName, bool aCreateIfNotExist = false );
|
||||||
|
|
||||||
/** Function GetAliasDataDoc
|
/** Function GetAliasDataDoc
|
||||||
* @param aAliasName = the alias name
|
* @param aAliasName = the alias name
|
||||||
|
|
|
@ -75,10 +75,9 @@ bool operator<( const CMP_LIBRARY& aItem1, const CMP_LIBRARY& aItem2 )
|
||||||
|
|
||||||
CMP_LIBRARY::CMP_LIBRARY( int aType, const wxFileName& aFileName )
|
CMP_LIBRARY::CMP_LIBRARY( int aType, const wxFileName& aFileName )
|
||||||
{
|
{
|
||||||
m_Type = aType;
|
type = aType;
|
||||||
isModified = false;
|
isModified = false;
|
||||||
timeStamp = 0;
|
timeStamp = 0;
|
||||||
m_Flags = 0;
|
|
||||||
isCache = false;
|
isCache = false;
|
||||||
timeStamp = wxDateTime::Now();
|
timeStamp = wxDateTime::Now();
|
||||||
|
|
||||||
|
@ -227,7 +226,7 @@ bool CMP_LIBRARY::AddAlias( LIB_ALIAS* aAlias )
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add /a aComponent entry to library.
|
* Add \a aComponent entry to library.
|
||||||
* Note a component can have an alias list,
|
* Note a component can have an alias list,
|
||||||
* so these alias will be added in library.
|
* so these alias will be added in library.
|
||||||
* Conflicts can happen if aliases are already existing.
|
* Conflicts can happen if aliases are already existing.
|
||||||
|
@ -344,8 +343,8 @@ LIB_COMPONENT* CMP_LIBRARY::AddComponent( LIB_COMPONENT* aComponent )
|
||||||
}
|
}
|
||||||
|
|
||||||
/** function RemoveEntryName
|
/** function RemoveEntryName
|
||||||
* Remove an /a aName entry from the library list names.
|
* Remove an \a aName entry from the library list names.
|
||||||
* Warning: this is a partiel remove, because if aName is an alias
|
* Warning: this is a partial remove, because if aName is an alias
|
||||||
* it is not removed from its root component.
|
* it is not removed from its root component.
|
||||||
* this is for internal use only
|
* this is for internal use only
|
||||||
* Use RemoveEntry( CMP_LIB_ENTRY* aEntry ) to remove safely an entry in library.
|
* Use RemoveEntry( CMP_LIB_ENTRY* aEntry ) to remove safely an entry in library.
|
||||||
|
@ -367,7 +366,7 @@ void CMP_LIBRARY::RemoveEntryName( const wxString& aName )
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove safely an /a aEntry from the library.
|
* Remove safely an \a aEntry from the library.
|
||||||
*
|
*
|
||||||
* If the entry is an alias, the alias is removed from the library and from
|
* If the entry is an alias, the alias is removed from the library and from
|
||||||
* the alias list of the root component. If the entry is a root component
|
* the alias list of the root component. If the entry is a root component
|
||||||
|
@ -579,7 +578,7 @@ bool CMP_LIBRARY::Load( wxString& aErrorMsg )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no header if this is a symbol library. */
|
/* There is no header if this is a symbol library. */
|
||||||
if( m_Type == LIBRARY_TYPE_EESCHEMA )
|
if( type == LIBRARY_TYPE_EESCHEMA )
|
||||||
{
|
{
|
||||||
wxString tmp;
|
wxString tmp;
|
||||||
|
|
||||||
|
@ -643,8 +642,7 @@ the current schematic." ),
|
||||||
|
|
||||||
while( GetLine( file, line, &lineNumber, sizeof( line ) ) )
|
while( GetLine( file, line, &lineNumber, sizeof( line ) ) )
|
||||||
{
|
{
|
||||||
if( m_Type == LIBRARY_TYPE_EESCHEMA
|
if( type == LIBRARY_TYPE_EESCHEMA && strnicmp( line, "$HEADER", 7 ) == 0 )
|
||||||
&& strnicmp( line, "$HEADER", 7 ) == 0 )
|
|
||||||
{
|
{
|
||||||
if( !LoadHeader( file, &lineNumber ) )
|
if( !LoadHeader( file, &lineNumber ) )
|
||||||
{
|
{
|
||||||
|
@ -701,7 +699,7 @@ void CMP_LIBRARY::LoadAliases( LIB_COMPONENT* component )
|
||||||
LIB_ALIAS* alias;
|
LIB_ALIAS* alias;
|
||||||
unsigned ii;
|
unsigned ii;
|
||||||
|
|
||||||
for( ii = 0; ii < component->m_AliasList.GetCount(); ii++ )
|
for( ii = 0; ii < component->GetAliasList().GetCount(); ii++ )
|
||||||
{
|
{
|
||||||
if( FindEntry( component->m_AliasList[ii] ) != NULL )
|
if( FindEntry( component->m_AliasList[ii] ) != NULL )
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,11 +57,7 @@ extern bool operator<( const CMP_LIBRARY& item1, const CMP_LIBRARY& item2 );
|
||||||
*/
|
*/
|
||||||
class CMP_LIBRARY
|
class CMP_LIBRARY
|
||||||
{
|
{
|
||||||
public:
|
int type; ///< Library type indicator.
|
||||||
int m_Type; ///< type indicator
|
|
||||||
int m_Flags;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
wxFileName fileName; ///< Library file name.
|
wxFileName fileName; ///< Library file name.
|
||||||
wxDateTime timeStamp; ///< Library save time and date.
|
wxDateTime timeStamp; ///< Library save time and date.
|
||||||
int versionMajor; ///< Library major version number.
|
int versionMajor; ///< Library major version number.
|
||||||
|
@ -70,14 +66,13 @@ protected:
|
||||||
bool isCache; /**< False for the "standard" libraries,
|
bool isCache; /**< False for the "standard" libraries,
|
||||||
True for the library cache */
|
True for the library cache */
|
||||||
wxString header; ///< first line of loaded library.
|
wxString header; ///< first line of loaded library.
|
||||||
|
bool isModified; ///< Library modification status.
|
||||||
|
|
||||||
static CMP_LIBRARY_LIST libraryList;
|
static CMP_LIBRARY_LIST libraryList;
|
||||||
static wxArrayString libraryListSortOrder;
|
static wxArrayString libraryListSortOrder;
|
||||||
|
|
||||||
friend class CMP_LIB_ENTRY;
|
friend class CMP_LIB_ENTRY;
|
||||||
|
friend class LIB_COMPONENT;
|
||||||
private:
|
|
||||||
bool isModified; ///< Library modification status.
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CMP_LIBRARY( int aType, const wxFileName& aFileName );
|
CMP_LIBRARY( int aType, const wxFileName& aFileName );
|
||||||
|
@ -98,11 +93,11 @@ public:
|
||||||
* saves library to a file.
|
* saves library to a file.
|
||||||
* <p>
|
* <p>
|
||||||
* Prior to component library version 3.0, two files were created. The
|
* Prior to component library version 3.0, two files were created. The
|
||||||
* component objects are wer as component library (*.lib) files. The
|
* component objects are were as component library (*.lib) files. The
|
||||||
* library entry ojbect document strings were save in library document
|
* library entry object document strings were save in library document
|
||||||
* definition (*.dcm) files. After version component library version 3.0,
|
* definition (*.dcm) files. After version component library version 3.0,
|
||||||
* the document string information is saved as part of the library file.
|
* the document string information is saved as part of the library file.
|
||||||
* Saving separate document is maintained for backwards compatability.
|
* Saving separate document is maintained for backwards compatibility.
|
||||||
* Please note that this behavior may change in the future. If the
|
* Please note that this behavior may change in the future. If the
|
||||||
* component library already exists, it is backup up in file *.bak.
|
* component library already exists, it is backup up in file *.bak.
|
||||||
*
|
*
|
||||||
|
@ -143,8 +138,8 @@ private:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function RemoveEntryName
|
* Function RemoveEntryName
|
||||||
* removes an /a aName entry from the library list names.
|
* removes an \a aName entry from the library list names.
|
||||||
* Warning: this is a partiel remove, because if aname is an alias
|
* Warning: this is a partied remove, because if aname is an alias
|
||||||
* it is not removed from its root component.
|
* it is not removed from its root component.
|
||||||
* this is for internal use only
|
* this is for internal use only
|
||||||
* Use RemoveEntry( CMP_LIB_ENTRY* aEntry ) to remove safely an entry.
|
* Use RemoveEntry( CMP_LIB_ENTRY* aEntry ) to remove safely an entry.
|
||||||
|
@ -216,7 +211,7 @@ public:
|
||||||
* Find components in library by key word regular expression search.
|
* Find components in library by key word regular expression search.
|
||||||
*
|
*
|
||||||
* @param aNames - String array to place found component names into.
|
* @param aNames - String array to place found component names into.
|
||||||
* @param aRe - Regular expression used to seach component key words.
|
* @param aRe - Regular expression used to search component key words.
|
||||||
* @param aSort - Sort component name list.
|
* @param aSort - Sort component name list.
|
||||||
*/
|
*/
|
||||||
void SearchEntryNames( wxArrayString& aNames, const wxRegEx& aRe,
|
void SearchEntryNames( wxArrayString& aNames, const wxRegEx& aRe,
|
||||||
|
@ -231,7 +226,7 @@ public:
|
||||||
CMP_LIB_ENTRY* FindEntry( const wxChar* aName );
|
CMP_LIB_ENTRY* FindEntry( const wxChar* aName );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find entry by /a aName and /a aType.
|
* Find entry by \a aName and \a aType.
|
||||||
*
|
*
|
||||||
* @param aName - Name of entry, case insensitive.
|
* @param aName - Name of entry, case insensitive.
|
||||||
* @param aType - Type of entry, root or alias.
|
* @param aType - Type of entry, root or alias.
|
||||||
|
@ -240,7 +235,7 @@ public:
|
||||||
CMP_LIB_ENTRY* FindEntry( const wxChar* aName, LibrEntryType aType );
|
CMP_LIB_ENTRY* FindEntry( const wxChar* aName, LibrEntryType aType );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find component by /a aName.
|
* Find component by \a aName.
|
||||||
*
|
*
|
||||||
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
||||||
* a LIB_COMPONENT pointer is not required.
|
* a LIB_COMPONENT pointer is not required.
|
||||||
|
@ -251,7 +246,7 @@ public:
|
||||||
LIB_COMPONENT* FindComponent( const wxChar* aName );
|
LIB_COMPONENT* FindComponent( const wxChar* aName );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find alias by /a nName.
|
* Find alias by \a nName.
|
||||||
*
|
*
|
||||||
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
||||||
* a LIB_ALIAS pointer is not required.
|
* a LIB_ALIAS pointer is not required.
|
||||||
|
@ -265,7 +260,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new /a aAlias entry to the library.
|
* Add a new \a aAlias entry to the library.
|
||||||
*
|
*
|
||||||
* First check if a component or alias with the same name already exists
|
* First check if a component or alias with the same name already exists
|
||||||
* in the library and add alias if no conflict occurs. Once the alias
|
* in the library and add alias if no conflict occurs. Once the alias
|
||||||
|
@ -279,7 +274,7 @@ public:
|
||||||
bool AddAlias( LIB_ALIAS* aAlias );
|
bool AddAlias( LIB_ALIAS* aAlias );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add /a aComponent entry to library.
|
* Add \a aComponent entry to library.
|
||||||
* Note a component can have an alias list,
|
* Note a component can have an alias list,
|
||||||
* so these alias will be added in library.
|
* so these alias will be added in library.
|
||||||
* Conflicts can happen if aliases are already existing.
|
* Conflicts can happen if aliases are already existing.
|
||||||
|
@ -290,7 +285,7 @@ public:
|
||||||
LIB_COMPONENT* AddComponent( LIB_COMPONENT* aComponent );
|
LIB_COMPONENT* AddComponent( LIB_COMPONENT* aComponent );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove safely an /a aEntry from the library.
|
* Remove safely an \a aEntry from the library.
|
||||||
*
|
*
|
||||||
* If the entry is an alias, the alias is removed from the library and from
|
* If the entry is an alias, the alias is removed from the library and from
|
||||||
* the alias list of the root component. If the entry is a root component
|
* the alias list of the root component. If the entry is a root component
|
||||||
|
@ -321,7 +316,7 @@ public:
|
||||||
CMP_LIB_ENTRY* GetFirstEntry();
|
CMP_LIB_ENTRY* GetFirstEntry();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find next library entry by /a aName.
|
* Find next library entry by \a aName.
|
||||||
*
|
*
|
||||||
* If the name of the entry is the last entry in the library, the first
|
* If the name of the entry is the last entry in the library, the first
|
||||||
* entry in the list is returned.
|
* entry in the list is returned.
|
||||||
|
@ -333,7 +328,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find previous library entry by /a aName.
|
* Find previous library entry by \a aName.
|
||||||
*
|
*
|
||||||
* If the name of the entry is the first entry in the library, the last
|
* If the name of the entry is the first entry in the library, the last
|
||||||
* entry in the list is returned.
|
* entry in the list is returned.
|
||||||
|
@ -420,7 +415,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function AddLibrary
|
* Function AddLibrary
|
||||||
* adds a compnent library to the library list.
|
* adds a component library to the library list.
|
||||||
*
|
*
|
||||||
* @param aFileName - File name object of component library.
|
* @param aFileName - File name object of component library.
|
||||||
* @param aErrorMsg - Error message if the component library failed to load.
|
* @param aErrorMsg - Error message if the component library failed to load.
|
||||||
|
@ -430,7 +425,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function AddLibrary
|
* Function AddLibrary
|
||||||
* inserts a compnent library into the library list.
|
* inserts a component library into the library list.
|
||||||
*
|
*
|
||||||
* @param aFileName - File name object of component library.
|
* @param aFileName - File name object of component library.
|
||||||
* @param aErrerMsg - Error message if the component library failed to load.
|
* @param aErrerMsg - Error message if the component library failed to load.
|
||||||
|
|
|
@ -74,18 +74,18 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::Init( )
|
||||||
m_ButtonDeleteAllAlias->Enable( false );
|
m_ButtonDeleteAllAlias->Enable( false );
|
||||||
|
|
||||||
/* Place list of alias names in listbox */
|
/* Place list of alias names in listbox */
|
||||||
m_PartAliasListCtrl->Append( component->m_AliasList );
|
m_PartAliasListCtrl->Append( component->GetAliasList() );
|
||||||
|
|
||||||
if( component->m_AliasList.GetCount() == 0 )
|
if( component->GetAliasList().GetCount() == 0 )
|
||||||
{
|
{
|
||||||
m_ButtonDeleteAllAlias->Enable( false );
|
m_ButtonDeleteAllAlias->Enable( false );
|
||||||
m_ButtonDeleteOneAlias->Enable( false );
|
m_ButtonDeleteOneAlias->Enable( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read the Footprint Filter list */
|
/* Read the Footprint Filter list */
|
||||||
m_FootprintFilterListBox->Append( component->m_FootprintList );
|
m_FootprintFilterListBox->Append( component->GetFootPrints() );
|
||||||
|
|
||||||
if( component->m_FootprintList.GetCount() == 0 )
|
if( component->GetFootPrints().GetCount() == 0 )
|
||||||
{
|
{
|
||||||
m_ButtonDeleteAllFootprintFilter->Enable( false );
|
m_ButtonDeleteAllFootprintFilter->Enable( false );
|
||||||
m_ButtonDeleteOneFootprintFilter->Enable( false );
|
m_ButtonDeleteOneFootprintFilter->Enable( false );
|
||||||
|
|
|
@ -221,9 +221,9 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick( wxCommandEvent& event
|
||||||
/* A new name could be entered in VALUE field.
|
/* A new name could be entered in VALUE field.
|
||||||
* Must not be an existing alias name in alias list box */
|
* Must not be an existing alias name in alias list box */
|
||||||
wxString* newvalue = &m_FieldsBuf[VALUE].m_Text;
|
wxString* newvalue = &m_FieldsBuf[VALUE].m_Text;
|
||||||
for( size_t i = 0; i < m_LibEntry->m_AliasList.GetCount(); i++ )
|
for( size_t i = 0; i < m_LibEntry->GetAliasList().GetCount(); i++ )
|
||||||
{
|
{
|
||||||
if( newvalue->CmpNoCase( m_LibEntry->m_AliasList[i] ) == 0 )
|
if( newvalue->CmpNoCase( m_LibEntry->GetAliasList()[i] ) == 0 )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "A new name is entered for this component\n\
|
msg.Printf( _( "A new name is entered for this component\n\
|
||||||
|
|
|
@ -93,34 +93,34 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
component->SetAliasDataDocFileName(aliasname, m_DocfileCtrl->GetValue() );
|
component->SetAliasDataDocFileName(aliasname, m_DocfileCtrl->GetValue() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_PartAliasListCtrl->GetStrings() != component->m_AliasList )
|
if( m_PartAliasListCtrl->GetStrings() != component->GetAliasList() )
|
||||||
{
|
{
|
||||||
wxArrayString aliases = m_PartAliasListCtrl->GetStrings();
|
wxArrayString aliases = m_PartAliasListCtrl->GetStrings();
|
||||||
|
|
||||||
/* Add names not existing in the current component alias list. */
|
/* Add names not existing in the current component alias list. */
|
||||||
for( i = 0; i < aliases.GetCount(); i++ )
|
for( i = 0; i < aliases.GetCount(); i++ )
|
||||||
{
|
{
|
||||||
index = component->m_AliasList.Index( aliases[ i ], false );
|
index = component->GetAliasList().Index( aliases[ i ], false );
|
||||||
|
|
||||||
if( index != wxNOT_FOUND )
|
if( index != wxNOT_FOUND )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
component->m_AliasList.Add( aliases[ i ] );
|
component->GetAliasList().Add( aliases[ i ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove names in the current component that are not in the new alias list. */
|
/* Remove names in the current component that are not in the new alias list. */
|
||||||
for( i = 0; i < component->m_AliasList.GetCount(); i++ )
|
for( i = 0; i < component->GetAliasList().GetCount(); i++ )
|
||||||
{
|
{
|
||||||
index = aliases.Index( component->m_AliasList[ i ], false );
|
index = aliases.Index( component->GetAliasList()[ i ], false );
|
||||||
|
|
||||||
if( index == wxNOT_FOUND )
|
if( index == wxNOT_FOUND )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
component->m_AliasList.RemoveAt( i );
|
component->GetAliasList().RemoveAt( i );
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
|
|
||||||
component->m_AliasList = aliases;
|
component->GetAliasList() = aliases;
|
||||||
}
|
}
|
||||||
|
|
||||||
index = m_SelNumberOfUnits->GetValue();
|
index = m_SelNumberOfUnits->GetValue();
|
||||||
|
@ -168,8 +168,8 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
component->LockUnits( false );
|
component->LockUnits( false );
|
||||||
|
|
||||||
/* Update the footprint filter list */
|
/* Update the footprint filter list */
|
||||||
component->m_FootprintList.Clear();
|
component->GetFootPrints().Clear();
|
||||||
component->m_FootprintList = m_FootprintFilterListBox->GetStrings();
|
component->GetFootPrints() = m_FootprintFilterListBox->GetStrings();
|
||||||
|
|
||||||
EndModal( wxID_OK );
|
EndModal( wxID_OK );
|
||||||
}
|
}
|
||||||
|
|
|
@ -480,7 +480,7 @@ All changes will be lost. Discard changes?" ) ) )
|
||||||
*/
|
*/
|
||||||
if( m_component->GetName().CmpNoCase( LibEntry->GetName() ) == 0 )
|
if( m_component->GetName().CmpNoCase( LibEntry->GetName() ) == 0 )
|
||||||
{
|
{
|
||||||
if( m_component->m_AliasList.IsEmpty() )
|
if( m_component->GetAliasList().IsEmpty() )
|
||||||
{
|
{
|
||||||
nextEntry = m_library->GetNextEntry( m_component->GetName() );
|
nextEntry = m_library->GetNextEntry( m_component->GetName() );
|
||||||
|
|
||||||
|
@ -489,7 +489,7 @@ All changes will be lost. Discard changes?" ) ) )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
newCmpName = m_component->m_AliasList[ 0 ];
|
newCmpName = m_component->GetAliasList()[ 0 ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -426,9 +426,9 @@ void WinEDA_LibeditFrame::UpdateAliasSelectList()
|
||||||
m_SelAliasBox->Append( m_component->GetName() );
|
m_SelAliasBox->Append( m_component->GetName() );
|
||||||
m_SelAliasBox->SetSelection( 0 );
|
m_SelAliasBox->SetSelection( 0 );
|
||||||
|
|
||||||
if( !m_component->m_AliasList.IsEmpty() )
|
if( !m_component->GetAliasList().IsEmpty() )
|
||||||
{
|
{
|
||||||
m_SelAliasBox->Append( m_component->m_AliasList );
|
m_SelAliasBox->Append( m_component->GetAliasList() );
|
||||||
|
|
||||||
int index = m_SelAliasBox->FindString( m_aliasName );
|
int index = m_SelAliasBox->FindString( m_aliasName );
|
||||||
|
|
||||||
|
@ -571,7 +571,7 @@ void WinEDA_LibeditFrame::OnUpdateSelectAlias( wxUpdateUIEvent& event )
|
||||||
* so use the pointer to alias combobox to directly enable or disable.
|
* so use the pointer to alias combobox to directly enable or disable.
|
||||||
*/
|
*/
|
||||||
m_SelAliasBox->Enable( m_component != NULL
|
m_SelAliasBox->Enable( m_component != NULL
|
||||||
&& !m_component->m_AliasList.IsEmpty() );
|
&& !m_component->GetAliasList().IsEmpty() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -186,14 +186,13 @@ void WinEDA_LibeditFrame::EditField( wxDC* DC, LIB_FIELD* Field )
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
/* Test for an existing name in the current components alias list. */
|
/* Test for an existing name in the current components alias list. */
|
||||||
if( Field->GetParent()->m_AliasList.Index( Text, false ) != wxNOT_FOUND )
|
if( Field->GetParent()->GetAliasList().Index( Text, false ) != wxNOT_FOUND )
|
||||||
{
|
{
|
||||||
msg.Printf( _(
|
msg.Printf( _( "The field name <%s> is an existing alias of the \
|
||||||
"The field name <%s> is an existing alias of the \
|
|
||||||
component <%s>.\nPlease choose another name that does not conflict with any \
|
component <%s>.\nPlease choose another name that does not conflict with any \
|
||||||
names in the alias list." ),
|
names in the alias list." ),
|
||||||
GetChars( Text ),
|
GetChars( Text ),
|
||||||
GetChars( Field->GetParent()->GetName() ) );
|
GetChars( Field->GetParent()->GetName() ) );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -729,14 +729,14 @@ XNODE* EXPORT_HELP::makeGenericLibParts()
|
||||||
xlibpart->AddChild( node( sDocs, lcomp->GetDocFileName() ) );
|
xlibpart->AddChild( node( sDocs, lcomp->GetDocFileName() ) );
|
||||||
|
|
||||||
// Write the footprint list
|
// Write the footprint list
|
||||||
if( lcomp->m_FootprintList.GetCount() )
|
if( lcomp->GetFootPrints().GetCount() )
|
||||||
{
|
{
|
||||||
XNODE* xfootprints;
|
XNODE* xfootprints;
|
||||||
xlibpart->AddChild( xfootprints = node( sFprints ) );
|
xlibpart->AddChild( xfootprints = node( sFprints ) );
|
||||||
|
|
||||||
for( unsigned i=0; i<lcomp->m_FootprintList.GetCount(); ++i )
|
for( unsigned i=0; i<lcomp->GetFootPrints().GetCount(); ++i )
|
||||||
{
|
{
|
||||||
xfootprints->AddChild( node( sFp, lcomp->m_FootprintList[i] ) );
|
xfootprints->AddChild( node( sFp, lcomp->GetFootPrints()[i] ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1186,7 +1186,7 @@ bool EXPORT_HELP::WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
DateAndTime( Line );
|
DateAndTime( Line );
|
||||||
|
|
||||||
ret |= fprintf( f, "* %s (Spice format) creation date: %s\n\n",
|
ret |= fprintf( f, "* %s (Spice format) creation date: %s\n\n",
|
||||||
NETLIST_HEAD_STRING, Line );
|
NETLIST_HEAD_STRING, Line );
|
||||||
|
|
||||||
// Create text list starting by [.-]pspice , or [.-]gnucap (simulator
|
// Create text list starting by [.-]pspice , or [.-]gnucap (simulator
|
||||||
// commands) and create text list starting by [+]pspice , or [+]gnucap
|
// commands) and create text list starting by [+]pspice , or [+]gnucap
|
||||||
|
@ -1222,8 +1222,8 @@ bool EXPORT_HELP::WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
int ypos = drawText->m_Pos.y;
|
int ypos = drawText->m_Pos.y;
|
||||||
for( int ii = 0; ii < BUFYPOS_LEN; ii++ )
|
for( int ii = 0; ii < BUFYPOS_LEN; ii++ )
|
||||||
{
|
{
|
||||||
bufnum[BUFYPOS_LEN - 1 -
|
bufnum[BUFYPOS_LEN - 1 - ii] = (ypos & 63) + ' ';
|
||||||
ii] = (ypos & 63) + ' '; ypos >>= 6;
|
ypos >>= 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
text = drawText->m_Text.AfterFirst( ' ' );
|
text = drawText->m_Text.AfterFirst( ' ' );
|
||||||
|
@ -1363,7 +1363,7 @@ bool EXPORT_HELP::WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
|
|
||||||
if( entry )
|
if( entry )
|
||||||
{
|
{
|
||||||
if( entry->m_FootprintList.GetCount() != 0 ) // Put in list
|
if( entry->GetFootPrints().GetCount() != 0 ) // Put in list
|
||||||
{
|
{
|
||||||
cmpList.push_back( OBJ_CMP_TO_LIST() );
|
cmpList.push_back( OBJ_CMP_TO_LIST() );
|
||||||
|
|
||||||
|
@ -1383,8 +1383,8 @@ bool EXPORT_HELP::WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
field = comp->GetRef( path );
|
field = comp->GetRef( path );
|
||||||
|
|
||||||
ret |= fprintf( f, " ( %s %s",
|
ret |= fprintf( f, " ( %s %s",
|
||||||
CONV_TO_UTF8( comp->GetPath( path ) ),
|
CONV_TO_UTF8( comp->GetPath( path ) ),
|
||||||
CONV_TO_UTF8( footprint ) );
|
CONV_TO_UTF8( footprint ) );
|
||||||
|
|
||||||
ret |= fprintf( f, " %s", CONV_TO_UTF8( field ) );
|
ret |= fprintf( f, " %s", CONV_TO_UTF8( field ) );
|
||||||
|
|
||||||
|
@ -1414,7 +1414,7 @@ bool EXPORT_HELP::WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
netName.Replace( wxT( " " ), wxT( "_" ) );
|
netName.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
||||||
ret |= fprintf( f, " ( %4.4s %s )\n", (char*) &pin->m_PinNum,
|
ret |= fprintf( f, " ( %4.4s %s )\n", (char*) &pin->m_PinNum,
|
||||||
CONV_TO_UTF8( netName ) );
|
CONV_TO_UTF8( netName ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
ret |= fprintf( f, " )\n" );
|
ret |= fprintf( f, " )\n" );
|
||||||
|
@ -1444,10 +1444,9 @@ bool EXPORT_HELP::WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, boo
|
||||||
ret |= fprintf( f, "$component %s\n", CONV_TO_UTF8( ref ) );
|
ret |= fprintf( f, "$component %s\n", CONV_TO_UTF8( ref ) );
|
||||||
|
|
||||||
// Write the footprint list
|
// Write the footprint list
|
||||||
for( unsigned jj = 0; jj < entry->m_FootprintList.GetCount(); jj++ )
|
for( unsigned jj = 0; jj < entry->GetFootPrints().GetCount(); jj++ )
|
||||||
{
|
{
|
||||||
ret |= fprintf( f, " %s\n",
|
ret |= fprintf( f, " %s\n", CONV_TO_UTF8( entry->GetFootPrints()[jj] ) );
|
||||||
CONV_TO_UTF8( entry->m_FootprintList[jj] ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret |= fprintf( f, "$endlist\n" );
|
ret |= fprintf( f, "$endlist\n" );
|
||||||
|
|
Loading…
Reference in New Issue