Handle font sizes in Altium libs
This commit is contained in:
parent
893ebdd016
commit
468beb5a05
|
@ -851,6 +851,7 @@ ASCH_DESIGNATOR::ASCH_DESIGNATOR( const std::map<wxString, wxString>& aProps ) :
|
||||||
|
|
||||||
name = ALTIUM_PARSER::ReadString( aProps, "NAME", "" );
|
name = ALTIUM_PARSER::ReadString( aProps, "NAME", "" );
|
||||||
text = ALTIUM_PARSER::ReadString( aProps, "TEXT", "" );
|
text = ALTIUM_PARSER::ReadString( aProps, "TEXT", "" );
|
||||||
|
fontId = ALTIUM_PARSER::ReadInt( aProps, "FONTID", 0 );
|
||||||
|
|
||||||
justification = ReadEnum<ASCH_LABEL_JUSTIFICATION>( aProps, "JUSTIFICATION", 0, 8,
|
justification = ReadEnum<ASCH_LABEL_JUSTIFICATION>( aProps, "JUSTIFICATION", 0, 8,
|
||||||
ASCH_LABEL_JUSTIFICATION::BOTTOM_LEFT );
|
ASCH_LABEL_JUSTIFICATION::BOTTOM_LEFT );
|
||||||
|
@ -916,6 +917,8 @@ ASCH_PARAMETER::ASCH_PARAMETER( const std::map<wxString, wxString>& aProps ) :
|
||||||
isHidden = ALTIUM_PARSER::ReadBool( aProps, "ISHIDDEN", false );
|
isHidden = ALTIUM_PARSER::ReadBool( aProps, "ISHIDDEN", false );
|
||||||
isMirrored = ALTIUM_PARSER::ReadBool( aProps, "ISMIRRORED", false );
|
isMirrored = ALTIUM_PARSER::ReadBool( aProps, "ISMIRRORED", false );
|
||||||
isShowName = ALTIUM_PARSER::ReadBool( aProps, "SHOWNAME", false );
|
isShowName = ALTIUM_PARSER::ReadBool( aProps, "SHOWNAME", false );
|
||||||
|
|
||||||
|
fontId = ALTIUM_PARSER::ReadInt( aProps, "FONTID", 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -847,6 +847,7 @@ struct ASCH_DESIGNATOR : ASCH_OWNER_INTERFACE
|
||||||
{
|
{
|
||||||
wxString name;
|
wxString name;
|
||||||
wxString text;
|
wxString text;
|
||||||
|
int fontId;
|
||||||
|
|
||||||
ASCH_RECORD_ORIENTATION orientation;
|
ASCH_RECORD_ORIENTATION orientation;
|
||||||
ASCH_LABEL_JUSTIFICATION justification;
|
ASCH_LABEL_JUSTIFICATION justification;
|
||||||
|
@ -895,6 +896,7 @@ struct ASCH_PARAMETER : ASCH_OWNER_INTERFACE
|
||||||
bool isHidden;
|
bool isHidden;
|
||||||
bool isMirrored;
|
bool isMirrored;
|
||||||
bool isShowName;
|
bool isShowName;
|
||||||
|
int fontId;
|
||||||
|
|
||||||
explicit ASCH_PARAMETER( const std::map<wxString, wxString>& aProps );
|
explicit ASCH_PARAMETER( const std::map<wxString, wxString>& aProps );
|
||||||
};
|
};
|
||||||
|
|
|
@ -1202,7 +1202,7 @@ void SetTextPositioning( EDA_TEXT* text, ASCH_LABEL_JUSTIFICATION justification,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::ParseLabel( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol )
|
void SCH_ALTIUM_PLUGIN::ParseLabel( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol, std::vector<int>& aFontSizes )
|
||||||
{
|
{
|
||||||
ASCH_LABEL elem( aProperties );
|
ASCH_LABEL elem( aProperties );
|
||||||
|
|
||||||
|
@ -1289,18 +1289,23 @@ void SCH_ALTIUM_PLUGIN::ParseLabel( const std::map<wxString, wxString>& aPropert
|
||||||
textItem->SetBold( font.Bold );
|
textItem->SetBold( font.Bold );
|
||||||
textItem->SetTextSize( { font.Size / 2, font.Size / 2 } );
|
textItem->SetTextSize( { font.Size / 2, font.Size / 2 } );
|
||||||
}
|
}
|
||||||
|
else if( fontId > 0 && fontId <= aFontSizes.size() )
|
||||||
|
{
|
||||||
|
int size = aFontSizes[fontId - 1];
|
||||||
|
textItem->SetTextSize( { size, size } );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::ParseTextFrame( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol )
|
void SCH_ALTIUM_PLUGIN::ParseTextFrame( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol, std::vector<int>& aFontSizes )
|
||||||
{
|
{
|
||||||
ASCH_TEXT_FRAME elem( aProperties );
|
ASCH_TEXT_FRAME elem( aProperties );
|
||||||
|
|
||||||
if( aSymbol.empty() )
|
if( aSymbol.empty() )
|
||||||
AddTextBox( &elem );
|
AddTextBox( &elem );
|
||||||
else
|
else
|
||||||
AddLibTextBox( &elem, aSymbol );
|
AddLibTextBox( &elem, aSymbol, aFontSizes );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1376,7 +1381,7 @@ void SCH_ALTIUM_PLUGIN::AddTextBox(const ASCH_TEXT_FRAME *aElem )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::AddLibTextBox(const ASCH_TEXT_FRAME *aElem, std::vector<LIB_SYMBOL*>& aSymbol )
|
void SCH_ALTIUM_PLUGIN::AddLibTextBox(const ASCH_TEXT_FRAME *aElem, std::vector<LIB_SYMBOL*>& aSymbol, std::vector<int>& aFontSizes )
|
||||||
{
|
{
|
||||||
if( aElem->ownerpartdisplaymode >= static_cast<int>( aSymbol.size() ) )
|
if( aElem->ownerpartdisplaymode >= static_cast<int>( aSymbol.size() ) )
|
||||||
return;
|
return;
|
||||||
|
@ -1419,6 +1424,12 @@ void SCH_ALTIUM_PLUGIN::AddLibTextBox(const ASCH_TEXT_FRAME *aElem, std::vector<
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( aElem->FontID > 0 && aElem->FontID <= static_cast<int>( aFontSizes.size() ) )
|
||||||
|
{
|
||||||
|
int size = aFontSizes[aElem->FontID - 1];
|
||||||
|
textBox->SetTextSize( { size, size } );
|
||||||
|
}
|
||||||
|
|
||||||
symbol->AddDrawItem( textBox, false );
|
symbol->AddDrawItem( textBox, false );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3405,7 +3416,8 @@ void SCH_ALTIUM_PLUGIN::ParseFileName( const std::map<wxString, wxString>& aProp
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::ParseDesignator( const std::map<wxString, wxString>& aProperties,
|
void SCH_ALTIUM_PLUGIN::ParseDesignator( const std::map<wxString, wxString>& aProperties,
|
||||||
std::vector<LIB_SYMBOL*>& aSymbol )
|
std::vector<LIB_SYMBOL*>& aSymbol,
|
||||||
|
std::vector<int>& aFontSizes )
|
||||||
{
|
{
|
||||||
ASCH_DESIGNATOR elem( aProperties );
|
ASCH_DESIGNATOR elem( aProperties );
|
||||||
|
|
||||||
|
@ -3419,11 +3431,17 @@ void SCH_ALTIUM_PLUGIN::ParseDesignator( const std::map<wxString, wxString>& aPr
|
||||||
LIB_FIELD& refField = symbol->GetReferenceField();
|
LIB_FIELD& refField = symbol->GetReferenceField();
|
||||||
|
|
||||||
if( emptyRef )
|
if( emptyRef )
|
||||||
refField.SetText( wxT( "X?" ) );
|
refField.SetText( wxT( "X" ) );
|
||||||
else
|
else
|
||||||
refField.SetText( elem.text );
|
refField.SetText( elem.text.BeforeLast( '?' ) ); // remove the '?' at the end for KiCad-style
|
||||||
|
|
||||||
refField.SetPosition( elem.location );
|
refField.SetPosition( GetLibEditPosition( elem.location ) );
|
||||||
|
|
||||||
|
if( elem.fontId > 0 && elem.fontId <= static_cast<int>( aFontSizes.size() ) )
|
||||||
|
{
|
||||||
|
int size = aFontSizes[elem.fontId - 1];
|
||||||
|
refField.SetTextSize( { size, size } );
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -3482,7 +3500,8 @@ void SCH_ALTIUM_PLUGIN::ParseBusEntry( const std::map<wxString, wxString>& aProp
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::ParseParameter( const std::map<wxString, wxString>& aProperties,
|
void SCH_ALTIUM_PLUGIN::ParseParameter( const std::map<wxString, wxString>& aProperties,
|
||||||
std::vector<LIB_SYMBOL*>& aSymbol )
|
std::vector<LIB_SYMBOL*>& aSymbol,
|
||||||
|
std::vector<int>& aFontSizes )
|
||||||
{
|
{
|
||||||
ASCH_PARAMETER elem( aProperties );
|
ASCH_PARAMETER elem( aProperties );
|
||||||
|
|
||||||
|
@ -3618,6 +3637,12 @@ void SCH_ALTIUM_PLUGIN::ParseParameter( const std::map<wxString, wxString>& aPro
|
||||||
|
|
||||||
field->SetVisible( !elem.isHidden );
|
field->SetVisible( !elem.isHidden );
|
||||||
SetTextPositioning( field, elem.justification, elem.orientation );
|
SetTextPositioning( field, elem.justification, elem.orientation );
|
||||||
|
|
||||||
|
if( elem.fontId > 0 && elem.fontId <= static_cast<int>( aFontSizes.size() ) )
|
||||||
|
{
|
||||||
|
int size = aFontSizes[elem.fontId - 1];
|
||||||
|
field->SetTextSize( { size, size } );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3721,20 +3746,9 @@ std::vector<LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibComponent( const std::map<wx
|
||||||
std::map<wxString,LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibFile( const ALTIUM_COMPOUND_FILE& aAltiumLibFile )
|
std::map<wxString,LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibFile( const ALTIUM_COMPOUND_FILE& aAltiumLibFile )
|
||||||
{
|
{
|
||||||
std::map<wxString,LIB_SYMBOL*> ret;
|
std::map<wxString,LIB_SYMBOL*> ret;
|
||||||
|
std::vector<int> fontSizes;
|
||||||
|
|
||||||
{
|
ParseLibHeader( aAltiumLibFile, fontSizes );
|
||||||
const CFB::COMPOUND_FILE_ENTRY* file = aAltiumLibFile.FindStream( { "FileHeader" } );
|
|
||||||
|
|
||||||
if( file == nullptr )
|
|
||||||
THROW_IO_ERROR( "FileHeader not found" );
|
|
||||||
|
|
||||||
ALTIUM_PARSER reader( aAltiumLibFile, file );
|
|
||||||
|
|
||||||
if( reader.GetRemainingBytes() <= 0 )
|
|
||||||
{
|
|
||||||
THROW_IO_ERROR( "FileHeader does not contain any data" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::map<wxString, const CFB::COMPOUND_FILE_ENTRY*> syms = aAltiumLibFile.GetLibSymbols( nullptr );
|
std::map<wxString, const CFB::COMPOUND_FILE_ENTRY*> syms = aAltiumLibFile.GetLibSymbols( nullptr );
|
||||||
|
|
||||||
|
@ -3822,7 +3836,7 @@ std::map<wxString,LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibFile( const ALTIUM_COM
|
||||||
{
|
{
|
||||||
case ALTIUM_SCH_RECORD::PIN: ParsePin( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::PIN: ParsePin( properties, symbols ); break;
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::LABEL: ParseLabel( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::LABEL: ParseLabel( properties, symbols, fontSizes ); break;
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::BEZIER: ParseBezier( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::BEZIER: ParseBezier( properties, symbols ); break;
|
||||||
|
|
||||||
|
@ -3842,11 +3856,11 @@ std::map<wxString,LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibFile( const ALTIUM_COM
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::RECTANGLE: ParseRectangle( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::RECTANGLE: ParseRectangle( properties, symbols ); break;
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::DESIGNATOR: ParseDesignator( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::DESIGNATOR: ParseDesignator( properties, symbols, fontSizes ); break;
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::PARAMETER: ParseParameter( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::PARAMETER: ParseParameter( properties, symbols, fontSizes ); break;
|
||||||
|
|
||||||
case ALTIUM_SCH_RECORD::TEXT_FRAME: ParseTextFrame( properties, symbols ); break;
|
case ALTIUM_SCH_RECORD::TEXT_FRAME: ParseTextFrame( properties, symbols, fontSizes ); break;
|
||||||
|
|
||||||
// Nothing for now. TODO: Figure out how implementation lists are generted in libs
|
// Nothing for now. TODO: Figure out how implementation lists are generted in libs
|
||||||
case ALTIUM_SCH_RECORD::IMPLEMENTATION_LIST: break;
|
case ALTIUM_SCH_RECORD::IMPLEMENTATION_LIST: break;
|
||||||
|
@ -3884,6 +3898,11 @@ std::map<wxString,LIB_SYMBOL*> SCH_ALTIUM_PLUGIN::ParseLibFile( const ALTIUM_COM
|
||||||
LIB_SYMBOL* symbol = symbols[ii];
|
LIB_SYMBOL* symbol = symbols[ii];
|
||||||
symbol->FixupDrawItems();
|
symbol->FixupDrawItems();
|
||||||
|
|
||||||
|
LIB_FIELD& valField = symbol->GetValueField();
|
||||||
|
|
||||||
|
if( valField.GetText().IsEmpty() )
|
||||||
|
valField.SetText( name );
|
||||||
|
|
||||||
if( symbols.size() == 1 )
|
if( symbols.size() == 1 )
|
||||||
ret[name] = symbol;
|
ret[name] = symbol;
|
||||||
else
|
else
|
||||||
|
@ -3940,8 +3959,7 @@ void SCH_ALTIUM_PLUGIN::ensureLoadedLibrary( const wxString& aLibraryPath,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_ALTIUM_PLUGIN::ParseLibHeader( const ALTIUM_COMPOUND_FILE& aAltiumSchFile,
|
void SCH_ALTIUM_PLUGIN::ParseLibHeader( const ALTIUM_COMPOUND_FILE& aAltiumSchFile, std::vector<int>& aFontSizes )
|
||||||
wxArrayString& aSymbolNameList )
|
|
||||||
{
|
{
|
||||||
const CFB::COMPOUND_FILE_ENTRY* file = aAltiumSchFile.FindStream( { "FileHeader" } );
|
const CFB::COMPOUND_FILE_ENTRY* file = aAltiumSchFile.FindStream( { "FileHeader" } );
|
||||||
|
|
||||||
|
@ -3965,34 +3983,20 @@ void SCH_ALTIUM_PLUGIN::ParseLibHeader( const ALTIUM_COMPOUND_FILE& aAltiumSchFi
|
||||||
for( auto& [key, value] : properties )
|
for( auto& [key, value] : properties )
|
||||||
{
|
{
|
||||||
wxString upperKey = key.Upper();
|
wxString upperKey = key.Upper();
|
||||||
wxString* remaining = nullptr;
|
wxString remaining;
|
||||||
|
|
||||||
if( upperKey.StartsWith( "LIBREF" ) )
|
if( upperKey.StartsWith( "SIZE", &remaining ) )
|
||||||
{
|
{
|
||||||
aSymbolNameList.Add( value );
|
if( !remaining.empty() )
|
||||||
}
|
|
||||||
else if( upperKey.StartsWith( "SIZE", remaining ) )
|
|
||||||
{
|
|
||||||
if( remaining )
|
|
||||||
{
|
{
|
||||||
int ind = wxAtoi( *remaining );
|
int ind = wxAtoi( remaining );
|
||||||
|
|
||||||
if( static_cast<int>( m_fonts.size() ) <= ind )
|
if( static_cast<int>( aFontSizes.size() ) < ind )
|
||||||
m_fonts.resize( ind + 1 );
|
aFontSizes.resize( ind );
|
||||||
|
|
||||||
m_fonts[ind].second = wxAtoi( value );
|
// Altium stores in pt. 1 pt = 1/72 inch. 1 mil = 1/1000 inch.
|
||||||
}
|
int scaled = schIUScale.MilsToIU( wxAtoi( value ) * 72.0 / 10.0 );
|
||||||
}
|
aFontSizes[ind - 1] = scaled;
|
||||||
else if( upperKey.StartsWith( "FONTNAME", remaining ) )
|
|
||||||
{
|
|
||||||
if( remaining )
|
|
||||||
{
|
|
||||||
int ind = wxAtoi( *remaining );
|
|
||||||
|
|
||||||
if( static_cast<int>( m_fonts.size() ) <= ind )
|
|
||||||
m_fonts.resize( ind + 1 );
|
|
||||||
|
|
||||||
m_fonts[ind].first = value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ class ALTIUM_COMPOUND_FILE;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static std::vector<LIB_SYMBOL*> nullsym;
|
static std::vector<LIB_SYMBOL*> nullsym;
|
||||||
|
static std::vector<int> nullint;
|
||||||
class SCH_ALTIUM_PLUGIN : public SCH_PLUGIN
|
class SCH_ALTIUM_PLUGIN : public SCH_PLUGIN
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -131,12 +131,12 @@ private:
|
||||||
bool IsComponentPartVisible( int aOwnerindex, int aOwnerpartdisplaymode ) const;
|
bool IsComponentPartVisible( int aOwnerindex, int aOwnerpartdisplaymode ) const;
|
||||||
const ASCH_STORAGE_FILE* GetFileFromStorage( const wxString& aFilename ) const;
|
const ASCH_STORAGE_FILE* GetFileFromStorage( const wxString& aFilename ) const;
|
||||||
void AddTextBox( const ASCH_TEXT_FRAME* aElem );
|
void AddTextBox( const ASCH_TEXT_FRAME* aElem );
|
||||||
void AddLibTextBox( const ASCH_TEXT_FRAME* aElem, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void AddLibTextBox( const ASCH_TEXT_FRAME* aElem, std::vector<LIB_SYMBOL*>& aSymbol = nullsym, std::vector<int>& aSymbolIndex = nullint );
|
||||||
|
|
||||||
void ParseComponent( int aIndex, const std::map<wxString, wxString>& aProperties );
|
void ParseComponent( int aIndex, const std::map<wxString, wxString>& aProperties );
|
||||||
void ParsePin( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParsePin( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
||||||
void ParseLabel( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParseLabel( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym, std::vector<int>& aSymbolIndex = nullint );
|
||||||
void ParseTextFrame( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParseTextFrame( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym, std::vector<int>& aSymbolIndex = nullint );
|
||||||
void ParseNote( const std::map<wxString, wxString>& aProperties );
|
void ParseNote( const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseBezier( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParseBezier( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
||||||
void ParsePolyline( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParsePolyline( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
||||||
|
@ -167,13 +167,13 @@ private:
|
||||||
void ParseSheet( const std::map<wxString, wxString>& aProperties );
|
void ParseSheet( const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseSheetName( const std::map<wxString, wxString>& aProperties );
|
void ParseSheetName( const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseFileName( const std::map<wxString, wxString>& aProperties );
|
void ParseFileName( const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseDesignator( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParseDesignator( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym, std::vector<int>& aSymbolIndex = nullint );
|
||||||
void ParseBusEntry( const std::map<wxString, wxString>& aProperties );
|
void ParseBusEntry( const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseParameter( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym);
|
void ParseParameter( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym, std::vector<int>& aSymbolIndex = nullint );
|
||||||
void ParseImplementationList( int aIndex, const std::map<wxString, wxString>& aProperties );
|
void ParseImplementationList( int aIndex, const std::map<wxString, wxString>& aProperties );
|
||||||
void ParseImplementation( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym );
|
void ParseImplementation( const std::map<wxString, wxString>& aProperties, std::vector<LIB_SYMBOL*>& aSymbol = nullsym );
|
||||||
|
|
||||||
void ParseLibHeader( const ALTIUM_COMPOUND_FILE& aAltiumSchFile, wxArrayString& aLibNames );
|
void ParseLibHeader( const ALTIUM_COMPOUND_FILE& aAltiumSchFile, std::vector<int>& aFontSizes );
|
||||||
std::map<wxString,LIB_SYMBOL*> ParseLibFile( const ALTIUM_COMPOUND_FILE& aAltiumSchFile );
|
std::map<wxString,LIB_SYMBOL*> ParseLibFile( const ALTIUM_COMPOUND_FILE& aAltiumSchFile );
|
||||||
std::vector<LIB_SYMBOL*> ParseLibComponent( const std::map<wxString, wxString>& aProperties );
|
std::vector<LIB_SYMBOL*> ParseLibComponent( const std::map<wxString, wxString>& aProperties );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue