50    std::unique_ptr<LIB_SYMBOL> symbol = std::make_unique<LIB_SYMBOL>( wxS( 
"Symbol" ) );
 
   51    std::unique_ptr<SCH_SCREEN> screen = std::make_unique<SCH_SCREEN>();
 
   55    SYMBOL_BUFFER buffer( std::move( symbol ), std::move( screen ) );
 
   58    BOOST_CHECK( &buffer.
GetSymbol() == &symbolRef );
 
   64    std::unique_ptr<LIB_SYMBOL> originalSymbol =
 
   65            std::make_unique<LIB_SYMBOL>( wxS( 
"OriginalSymbol" ) );
 
   66    LIB_SYMBOL& originalSymbolRef = *originalSymbol;
 
   70    BOOST_CHECK( &buffer.
GetOriginal() == &originalSymbolRef );
 
   71    BOOST_CHECK( buffer.
GetOriginal() == originalSymbolRef );
 
 
   81    wxArrayString symbolNames;
 
   87    auto        parentSymbol1 = std::make_unique<LIB_SYMBOL>( wxS( 
"Parent1" ) );
 
   94    parentSymbol1->GetValueField().SetText( parentSymbol1->GetName() );
 
   95    libBuffer.
CreateBuffer( std::move( parentSymbol1 ), std::make_unique<SCH_SCREEN>() );
 
   96    BOOST_CHECK( libBuffer.
GetSymbol( parentSymbol1Ref.
GetName() ) == &parentSymbol1Ref );
 
  113    auto        childSymbol1 = std::make_unique<LIB_SYMBOL>( wxS( 
"Child1" ) );
 
  116    childSymbol1->
SetParent( &parentSymbol1Ref );
 
  117    childSymbol1->GetValueField().SetText( childSymbol1->GetName() );
 
  118    libBuffer.
CreateBuffer( std::move( childSymbol1 ), std::make_unique<SCH_SCREEN>() );
 
  119    BOOST_CHECK( libBuffer.
GetSymbol( childSymbol1Ref.
GetName() ) == &childSymbol1Ref );
 
  140    std::shared_ptr<SYMBOL_BUFFER> buf = libBuffer.
GetBuffer( parentSymbol1Ref.
GetName() );
 
  150    BOOST_CHECK( deletedOk );
 
  151    BOOST_CHECK( libBuffer.
GetBuffers().empty() );
 
 
  162    props.
name = wxS( 
"Standalone" );
 
  175    std::unique_ptr<LIB_SYMBOL> standalone =
 
  180    BOOST_CHECK( standalone->GetPinNameOffset() > 0 );
 
  182    auto parent = std::make_unique<LIB_SYMBOL>( wxS( 
"Parent" ) );
 
  183    parent->GetValueField().SetText( parent->GetName() );
 
  186    parent->AddField( user );
 
  188    props.
name = wxS( 
"Child" );
 
  195    std::unique_ptr<LIB_SYMBOL> child =
 
  198    BOOST_CHECK( child->GetParent().lock().get() == parent.get() );
 
  199    BOOST_CHECK( child->GetFootprintField().GetText().IsEmpty() );
 
  200    BOOST_CHECK( child->GetDatasheetField().GetText().IsEmpty() );
 
  202    std::vector<SCH_FIELD*> childFields;
 
  203    child->GetFields( childFields );
 
  212            BOOST_CHECK( field->GetText().IsEmpty() );
 
  216    BOOST_CHECK( found );
 
 
void SetContentModified(bool aModified=true)
 
Store a working copy of a library.
 
size_t GetDerivedSymbolNames(const wxString &aSymbolName, wxArrayString &aList)
Fetch all of the symbols derived from a aSymbolName into aList.
 
bool CreateBuffer(std::unique_ptr< LIB_SYMBOL > aCopy, std::unique_ptr< SCH_SCREEN > aScreen)
Create a new buffer to store a symbol. LIB_BUFFER takes ownership of aCopy.
 
bool DeleteBuffer(const SYMBOL_BUFFER &aSymbolBuf)
Delete the given symbol buffer from the library buffer.
 
void GetSymbolNames(wxArrayString &aSymbolNames, SYMBOL_NAME_FILTER aFilter=SYMBOL_NAME_FILTER::ALL)
Fetch a list of root symbols names from the library buffer.
 
const std::deque< std::shared_ptr< SYMBOL_BUFFER > > & GetBuffers() const
Return all buffered symbols.
 
std::shared_ptr< SYMBOL_BUFFER > GetBuffer(const wxString &aAlias) const
Return a symbol buffer with LIB_SYMBOL holding a symbolic alias.
 
LIB_SYMBOL * GetSymbol(const wxString &aAlias) const
Return the working copy of a LIB_SYMBOL root object with specified alias.
 
bool HasDerivedSymbols(const wxString &aParentName) const
Check to see any symbols in the buffer are derived from a parent named aParentName.
 
bool UpdateBuffer(SYMBOL_BUFFER &aSymbolBuf, const LIB_SYMBOL &aCopy)
Update the buffered symbol with the contents of aCopy.
 
static std::unique_ptr< LIB_SYMBOL > CreateSymbol(const NEW_SYMBOL_PROPERTIES &aProps, LIB_SYMBOL *aParent)
 
Define a library symbol object.
 
SCH_FIELD & GetDescriptionField()
Return reference to the description field.
 
void SetParent(LIB_SYMBOL *aParent=nullptr)
 
wxString GetName() const override
 
void SetText(const wxString &aText) override
 
LIB_SYMBOL & GetSymbol() const
 
SCH_SCREEN * GetScreen() const
 
LIB_SYMBOL & GetOriginal() const
 
void SetOriginal(std::unique_ptr< LIB_SYMBOL > aSymbol)
 
SYMBOL_LIBRARY_MANAGER_TEST_FIXTURE()
 
wxString parentSymbolName
 
bool keepContentUserFields
 
bool unitsInterchangeable
 
@ USER
The field ID hasn't been set yet; field is invalid.
 
BOOST_AUTO_TEST_CASE(HorizontalAlignment)
 
BOOST_AUTO_TEST_SUITE_END()
 
BOOST_AUTO_TEST_CASE(SymbolBuffer)
Test the SYMBOL_BUFFER object.
 
BOOST_CHECK_EQUAL(result, "25.4")