Commit 0c3541b7 authored by Wayne Stambaugh's avatar Wayne Stambaugh

Component library object refactoring and minor code cleaning.

parent f360d5cc
...@@ -103,7 +103,6 @@ SCH_SHEET* SCH_SHEET::GenCopy() ...@@ -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 ) ...@@ -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() ...@@ -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, ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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, ...@@ -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." ), ...@@ -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 ) ...@@ -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, ...@@ -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, ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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() ...@@ -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 ...@@ -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 ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ) ...@@ -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 ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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 ) ...@@ -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." ), ...@@ -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 ) ...@@ -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 ); ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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( ) ...@@ -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 ...@@ -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 ) ...@@ -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 ) ...@@ -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?" ) ) ) ...@@ -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?" ) ) ) ...@@ -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() ...@@ -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 ) ...@@ -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 ) ...@@ -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() ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment