diff --git a/common/eda_item.cpp b/common/eda_item.cpp index 77a1eb5bc2..f97e8d48d2 100644 --- a/common/eda_item.cpp +++ b/common/eda_item.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2015 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -280,7 +280,7 @@ static struct EDA_ITEM_DESC .Map( SCH_GLOBAL_LABEL_T, _HKI( "Global Label" ) ) .Map( SCH_HIER_LABEL_T, _HKI( "Hierarchical Label" ) ) .Map( SCH_FIELD_T, _HKI( "Schematic Field" ) ) - .Map( SCH_COMPONENT_T, _HKI( "Component" ) ) + .Map( SCH_SYMBOL_T, _HKI( "Schematic Symbol" ) ) .Map( SCH_SHEET_PIN_T, _HKI( "Sheet Pin" ) ) .Map( SCH_SHEET_T, _HKI( "Sheet" ) ) diff --git a/common/lib_tree_model_adapter.cpp b/common/lib_tree_model_adapter.cpp index c70d257c36..01ef51ecbd 100644 --- a/common/lib_tree_model_adapter.cpp +++ b/common/lib_tree_model_adapter.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2017 Chris Pavlina * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2014-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -36,27 +36,18 @@ static const int kDataViewIndent = 20; -/** - * Convert CMP_TREE_NODE -> wxDataViewItem - */ wxDataViewItem LIB_TREE_MODEL_ADAPTER::ToItem( LIB_TREE_NODE const* aNode ) { return wxDataViewItem( const_cast( static_cast( aNode ) ) ); } -/** - * Convert wxDataViewItem -> CMP_TREE_NODE - */ LIB_TREE_NODE* LIB_TREE_MODEL_ADAPTER::ToNode( wxDataViewItem aItem ) { return static_cast( aItem.GetID() ); } -/** - * Convert CMP_TREE_NODE's children to wxDataViewItemArray - */ unsigned int LIB_TREE_MODEL_ADAPTER::IntoArray( LIB_TREE_NODE const& aNode, wxDataViewItemArray& aChildren ) { @@ -77,7 +68,7 @@ unsigned int LIB_TREE_MODEL_ADAPTER::IntoArray( LIB_TREE_NODE const& aNode, LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER( EDA_BASE_FRAME* aParent, wxString aPinnedKey ) : m_parent( aParent ), - m_filter( CMP_FILTER_NONE ), + m_filter( SYM_FILTER_NONE ), m_show_units( true ), m_preselect_unit( 0 ), m_freeze( 0 ), @@ -144,7 +135,7 @@ void LIB_TREE_MODEL_ADAPTER::SavePinnedItems() } -void LIB_TREE_MODEL_ADAPTER::SetFilter( CMP_FILTER_TYPE aFilter ) +void LIB_TREE_MODEL_ADAPTER::SetFilter( SYM_FILTER_TYPE aFilter ) { m_filter = aFilter; } @@ -548,10 +539,12 @@ LIB_TREE_NODE* LIB_TREE_MODEL_ADAPTER::ShowPreselect() FindAndExpand( m_tree, [&]( LIB_TREE_NODE const* n ) { - if( n->m_Type == LIB_TREE_NODE::LIBID && ( n->m_Children.empty() || !m_preselect_unit ) ) + if( n->m_Type == LIB_TREE_NODE::LIBID && ( n->m_Children.empty() || + !m_preselect_unit ) ) return m_preselect_lib_id == n->m_LibId; else if( n->m_Type == LIB_TREE_NODE::UNIT && m_preselect_unit ) - return m_preselect_lib_id == n->m_Parent->m_LibId && m_preselect_unit == n->m_Unit; + return m_preselect_lib_id == n->m_Parent->m_LibId && + m_preselect_unit == n->m_Unit; else return false; }, diff --git a/common/project/project_file.cpp b/common/project/project_file.cpp index 207de1760d..45ab036756 100644 --- a/common/project/project_file.cpp +++ b/common/project/project_file.cpp @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 CERN + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * @author Jon Evans * * This program is free software: you can redistribute it and/or modify it @@ -36,12 +37,12 @@ const int projectFileSchemaVersion = 1; PROJECT_FILE::PROJECT_FILE( const wxString& aFullPath ) : JSON_SETTINGS( aFullPath, SETTINGS_LOC::PROJECT, projectFileSchemaVersion ), - m_sheets(), - m_boards(), - m_project( nullptr ), m_ErcSettings( nullptr ), m_SchematicSettings( nullptr ), - m_BoardSettings() + m_BoardSettings(), + m_sheets(), + m_boards(), + m_project( nullptr ) { // Keep old files around m_deleteLegacyAfterMigration = false; diff --git a/common/widgets/lib_tree.cpp b/common/widgets/lib_tree.cpp index d06e037fea..0a70e5972f 100644 --- a/common/widgets/lib_tree.cpp +++ b/common/widgets/lib_tree.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2014-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -106,7 +106,7 @@ LIB_TREE::LIB_TREE( wxWindow* aParent, LIB_TABLE* aLibTable, m_tree_ctrl->Bind( wxEVT_DATAVIEW_SELECTION_CHANGED, &LIB_TREE::onTreeSelect, this ); m_tree_ctrl->Bind( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, &LIB_TREE::onContextMenu, this ); - Bind( COMPONENT_PRESELECTED, &LIB_TREE::onPreselect, this ); + Bind( SYMBOL_PRESELECTED, &LIB_TREE::onPreselect, this ); // If wxTextCtrl::SetHint() is called before binding wxEVT_TEXT, the event // handler will intermittently fire. @@ -271,14 +271,14 @@ void LIB_TREE::expandIfValid( const wxDataViewItem& aTreeId ) void LIB_TREE::postPreselectEvent() { - wxCommandEvent event( COMPONENT_PRESELECTED ); + wxCommandEvent event( SYMBOL_PRESELECTED ); wxPostEvent( this, event ); } void LIB_TREE::postSelectEvent() { - wxCommandEvent event( COMPONENT_SELECTED ); + wxCommandEvent event( SYMBOL_SELECTED ); wxPostEvent( this, event ); } @@ -367,7 +367,7 @@ void LIB_TREE::onQueryCharHook( wxKeyEvent& aKeyStroke ) toggleExpand( sel ); break; } - // Intentionally fall through, so the selected component will be treated as the selected one + // Intentionally fall through, so the selected symbol will be treated as the selected one KI_FALLTHROUGH; default: @@ -448,5 +448,5 @@ void LIB_TREE::onContextMenu( wxDataViewEvent& aEvent ) } -wxDEFINE_EVENT( COMPONENT_PRESELECTED, wxCommandEvent ); -wxDEFINE_EVENT( COMPONENT_SELECTED, wxCommandEvent ); +wxDEFINE_EVENT( SYMBOL_PRESELECTED, wxCommandEvent ); +wxDEFINE_EVENT( SYMBOL_SELECTED, wxCommandEvent ); diff --git a/eeschema/annotate.cpp b/eeschema/annotate.cpp index bac57b6b11..37b39fc4f3 100644 --- a/eeschema/annotate.cpp +++ b/eeschema/annotate.cpp @@ -43,7 +43,7 @@ void SCH_EDIT_FRAME::mapExistingAnnotation( std::map& aMap ) for( size_t i = 0; i < references.GetCount(); i++ ) { - SCH_COMPONENT* symbol = references[ i ].GetSymbol(); + SCH_SYMBOL* symbol = references[ i ].GetSymbol(); SCH_SHEET_PATH* curr_sheetpath = &references[ i ].GetSheetPath(); KIID_PATH curr_full_uuid = curr_sheetpath->Path(); @@ -65,7 +65,7 @@ void SCH_EDIT_FRAME::DeleteAnnotation( ANNOTATE_SCOPE_T aAnnotateScope, bool* aA auto clearSymbolAnnotation = [&]( EDA_ITEM* aItem, SCH_SCREEN* aScreen, SCH_SHEET_PATH* aSheet ) { - SCH_COMPONENT* symbol = static_cast( aItem ); + SCH_SYMBOL* symbol = static_cast( aItem ); SaveCopyInUndoList( aScreen, symbol, UNDO_REDO::CHANGED, *aAppendUndo ); *aAppendUndo = true; @@ -75,7 +75,7 @@ void SCH_EDIT_FRAME::DeleteAnnotation( ANNOTATE_SCOPE_T aAnnotateScope, bool* aA auto clearSheetAnnotation = [&]( SCH_SCREEN* aScreen, SCH_SHEET_PATH* aSheet ) { - for( SCH_ITEM* item : aScreen->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : aScreen->Items().OfType( SCH_SYMBOL_T ) ) clearSymbolAnnotation( item, aScreen, aSheet ); }; @@ -104,7 +104,7 @@ void SCH_EDIT_FRAME::DeleteAnnotation( ANNOTATE_SCOPE_T aAnnotateScope, bool* aA for( EDA_ITEM* item : selection.Items() ) { - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) clearSymbolAnnotation( item, screen, ¤tSheet ); } break; @@ -256,7 +256,7 @@ void SCH_EDIT_FRAME::AnnotateSymbols( ANNOTATE_SCOPE_T aAnnotateScope, for( size_t i = 0; i < references.GetCount(); i++ ) { SCH_REFERENCE& ref = references[i]; - SCH_COMPONENT* symbol = ref.GetSymbol(); + SCH_SYMBOL* symbol = ref.GetSymbol(); SCH_SHEET_PATH* sheet = &ref.GetSheetPath(); SaveCopyInUndoList( sheet->LastScreen(), symbol, UNDO_REDO::CHANGED, appendUndo ); diff --git a/eeschema/autoplace_fields.cpp b/eeschema/autoplace_fields.cpp index a9c1762d5c..bc8106ef99 100644 --- a/eeschema/autoplace_fields.cpp +++ b/eeschema/autoplace_fields.cpp @@ -111,7 +111,7 @@ public: COLLISION collision; }; - AUTOPLACER( SCH_COMPONENT* aSymbol, SCH_SCREEN* aScreen ) : + AUTOPLACER( SCH_SYMBOL* aSymbol, SCH_SCREEN* aScreen ) : m_screen( aScreen ), m_symbol( aSymbol ) { @@ -265,7 +265,7 @@ protected: for( SCH_ITEM* item : m_screen->Items().Overlapping( m_symbol->GetBoundingBox() ) ) { - if( SCH_COMPONENT* candidate = dynamic_cast( item ) ) + if( SCH_SYMBOL* candidate = dynamic_cast( item ) ) { if( candidate == m_symbol ) continue; @@ -293,7 +293,7 @@ protected: { EDA_RECT item_box; - if( SCH_COMPONENT* item_comp = dynamic_cast( item ) ) + if( SCH_SYMBOL* item_comp = dynamic_cast( item ) ) item_box = item_comp->GetBodyBoundingBox(); else item_box = item->GetBoundingBox(); @@ -320,8 +320,8 @@ protected: int orient = m_symbol->GetOrientation(); int orient_angle = orient & 0xff; // enum is a bitmask - bool h_mirrored = ( ( orient & CMP_MIRROR_X ) - && ( orient_angle == CMP_ORIENT_0 || orient_angle == CMP_ORIENT_180 ) ); + bool h_mirrored = ( ( orient & SYM_MIRROR_X ) + && ( orient_angle == SYM_ORIENT_0 || orient_angle == SYM_ORIENT_180 ) ); double w = double( m_symbol_bbox.GetWidth() ); double h = double( m_symbol_bbox.GetHeight() ); @@ -333,21 +333,21 @@ protected: // For power symbols, we generally want the label at the top first. switch( orient_angle ) { - case CMP_ORIENT_0: + case SYM_ORIENT_0: std::swap( sides[0], sides[1] ); std::swap( sides[1], sides[3] ); // TOP, BOTTOM, RIGHT, LEFT break; - case CMP_ORIENT_90: + case SYM_ORIENT_90: std::swap( sides[0], sides[2] ); std::swap( sides[1], sides[2] ); // LEFT, RIGHT, TOP, BOTTOM break; - case CMP_ORIENT_180: + case SYM_ORIENT_180: std::swap( sides[0], sides[3] ); // BOTTOM, TOP, LEFT, RIGHT break; - case CMP_ORIENT_270: + case SYM_ORIENT_270: std::swap( sides[1], sides[2] ); // RIGHT, LEFT, TOP, BOTTOM break; @@ -657,7 +657,7 @@ protected: private: SCH_SCREEN* m_screen; - SCH_COMPONENT* m_symbol; + SCH_SYMBOL* m_symbol; std::vector m_fields; std::vector m_colliders; EDA_RECT m_symbol_bbox; @@ -674,7 +674,7 @@ const AUTOPLACER::SIDE AUTOPLACER::SIDE_LEFT( -1, 0 ); const AUTOPLACER::SIDE AUTOPLACER::SIDE_RIGHT( 1, 0 ); -void SCH_COMPONENT::AutoplaceFields( SCH_SCREEN* aScreen, bool aManual ) +void SCH_SYMBOL::AutoplaceFields( SCH_SCREEN* aScreen, bool aManual ) { if( aManual ) wxASSERT_MSG( aScreen, "A SCH_SCREEN pointer must be given for manual autoplacement" ); diff --git a/eeschema/component_references_lister.cpp b/eeschema/component_references_lister.cpp index 2b17eda464..991afb381f 100644 --- a/eeschema/component_references_lister.cpp +++ b/eeschema/component_references_lister.cpp @@ -25,7 +25,7 @@ /** * @file component_references_lister.cpp - * @brief functions to create a component flat list and to annotate schematic. + * @brief functions to create a symbol flat list and to annotate schematic. */ #include @@ -211,7 +211,7 @@ void SCH_REFERENCE_LIST::GetRefsInUse( int aIndex, std::vector< int >& aIdList, sort( aIdList.begin(), aIdList.end() ); - // Ensure each reference number appears only once. If there are components with + // Ensure each reference number appears only once. If there are symbols with // multiple parts per package the same number will be stored for each part. std::vector< int >::iterator it = unique( aIdList.begin(), aIdList.end() ); @@ -342,8 +342,8 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int size_t originalSize = GetCount(); - // For multi units components, store the list of already used full references. - // The algorithm tries to allocate the new reference to components having the same + // For multi units symbols, store the list of already used full references. + // The algorithm tries to allocate the new reference to symbols having the same // old reference. // This algo works fine as long as the previous annotation has no duplicates. // But when a hierarchy is reannotated with this option, the previous anotation can @@ -371,8 +371,8 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int int LastReferenceNumber = 0; int NumberOfUnits, Unit; - /* calculate index of the first component with the same reference prefix - * than the current component. All components having the same reference + /* calculate index of the first symbol with the same reference prefix + * than the current symbol. All symbols having the same reference * prefix will receive a reference number with consecutive values: * IC .. will be set to IC4, IC4, IC5 ... */ @@ -399,7 +399,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int if( ref_unit.m_flag ) continue; - // Check whether this component is in aLockedUnitMap. + // Check whether this symbol is in aLockedUnitMap. SCH_REFERENCE_LIST* lockedList = NULL; for( SCH_MULTI_UNIT_REFERENCE_MAP::value_type& pair : aLockedUnitMap ) { @@ -440,7 +440,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int GetRefsInUse( first, idList, minRefId ); } - // Annotation of one part per package components (trivial case). + // Annotation of one part per package symbols (trivial case). if( ref_unit.GetLibPart()->GetUnitCount() <= 1 ) { if( ref_unit.m_isNew ) @@ -465,8 +465,8 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int ref_unit.m_flag = 1; } - // If this component is in aLockedUnitMap, copy the annotation to all - // components that are not it + // If this symbol is in aLockedUnitMap, copy the annotation to all + // symbols that are not it if( lockedList != NULL ) { unsigned n_refs = lockedList->GetCount(); @@ -477,7 +477,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int if( thisRef.IsSameInstance( ref_unit ) ) { - // This is the component we're currently annotating. Hold the unit! + // This is the symbol we're currently annotating. Hold the unit! ref_unit.m_unit = thisRef.m_unit; // lock this new full reference inUseRefs.insert( buildFullReference( ref_unit ) ); @@ -489,7 +489,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int if( thisRef.CompareLibName( ref_unit ) != 0 ) continue; - // Find the matching component + // Find the matching symbol for( unsigned jj = ii + 1; jj < flatList.size(); jj++ ) { if( ! thisRef.IsSameInstance( flatList[jj] ) ) @@ -497,9 +497,9 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int wxString ref_candidate = buildFullReference( ref_unit, thisRef.m_unit ); - // propagate the new reference and unit selection to the "old" component, + // propagate the new reference and unit selection to the "old" symbol, // if this new full reference is not already used (can happens when initial - // multiunits components have duplicate references) + // multiunits symbols have duplicate references) if( inUseRefs.find( ref_candidate ) == inUseRefs.end() ) { flatList[jj].m_numRef = ref_unit.m_numRef; @@ -514,7 +514,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int } else { - /* search for others units of this component. + /* search for others units of this symbol. * we search for others parts that have the same value and the same * reference prefix (ref without ref number) */ @@ -528,7 +528,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int if( found >= 0 ) continue; // this unit exists for this reference (unit already annotated) - // Search a component to annotate ( same prefix, same value, not annotated) + // Search a symbol to annotate ( same prefix, same value, not annotated) for( unsigned jj = ii + 1; jj < flatList.size(); jj++ ) { auto& cmp_unit = flatList[jj]; @@ -552,7 +552,7 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId, int if( !cmp_unit.m_isNew ) continue; - // Component without reference number found, annotate it if possible + // Symbol without reference number found, annotate it if possible. if( cmp_unit.m_unit == Unit ) { cmp_unit.m_numRef = ref_unit.m_numRef; @@ -617,7 +617,7 @@ int SCH_REFERENCE_LIST::CheckAnnotation( ANNOTATION_ERROR_HANDLER aHandler ) } // Error if unit number selected does not exist (greater than the number of units in - // the component). This can happen if a component has changed in a library after a + // the symbol). This can happen if a symbol has changed in a library after a // previous annotation. if( std::max( flatList[ii].GetLibPart()->GetUnitCount(), 1 ) < flatList[ii].m_unit ) { @@ -733,13 +733,13 @@ int SCH_REFERENCE_LIST::CheckAnnotation( ANNOTATION_ERROR_HANDLER aHandler ) } -SCH_REFERENCE::SCH_REFERENCE( SCH_COMPONENT* aSymbol, LIB_PART* aLibPart, +SCH_REFERENCE::SCH_REFERENCE( SCH_SYMBOL* aSymbol, LIB_PART* aLibPart, const SCH_SHEET_PATH& aSheetPath ) { wxASSERT( aSymbol != NULL ); m_rootSymbol = aSymbol; - m_libPart = aLibPart; // Warning: can be nullptr for orphan components + m_libPart = aLibPart; // Warning: can be nullptr for orphan symbols // (i.e. with a symbol library not found) m_unit = aSymbol->GetUnitSelection( &aSheetPath ); m_footprint = aSymbol->GetFootprint( &aSheetPath, true ); diff --git a/eeschema/connection_graph.cpp b/eeschema/connection_graph.cpp index 3f189483b4..22a1871226 100644 --- a/eeschema/connection_graph.cpp +++ b/eeschema/connection_graph.cpp @@ -517,9 +517,9 @@ void CONNECTION_GRAPH::updateItemConnectivity( const SCH_SHEET_PATH& aSheet, m_items.emplace_back( pin ); } } - else if( item->Type() == SCH_COMPONENT_T ) + else if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); for( SCH_PIN* pin : symbol->GetPins( &aSheet ) ) { diff --git a/eeschema/connection_graph.h b/eeschema/connection_graph.h index 7ae176f79a..a7debd9de9 100644 --- a/eeschema/connection_graph.h +++ b/eeschema/connection_graph.h @@ -337,7 +337,7 @@ private: * * Any item that is stored in the list of items that have a connection point * at a given (x, y) location will eventually be electrically connected. - * This means that we can't store SCH_COMPONENTs in this map -- we must store + * This means that we can't store SCH_SYMBOLs in this map -- we must store * a structure that links a specific pin on a symbol back to that symbol: a * SCH_PIN_CONNECTION. This wrapper class is a convenience for linking a pin * and symbol to a specific (x, y) point. diff --git a/eeschema/cross-probing.cpp b/eeschema/cross-probing.cpp index 7b8bf4192f..590216d106 100644 --- a/eeschema/cross-probing.cpp +++ b/eeschema/cross-probing.cpp @@ -46,7 +46,7 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, const wxString& aSearchText ) { SCH_SHEET_PATH* sheetWithComponentFound = nullptr; - SCH_COMPONENT* component = nullptr; + SCH_SYMBOL* symbol = nullptr; wxPoint pos; SCH_PIN* pin = nullptr; SCH_SHEET_LIST sheetList; @@ -61,27 +61,27 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, { SCH_SCREEN* screen = sheet.LastScreen(); - for( auto item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* candidate = static_cast( item ); + SCH_SYMBOL* candidate = static_cast( item ); if( aReference.CmpNoCase( candidate->GetRef( &sheet ) ) == 0 ) { - component = candidate; + symbol = candidate; sheetWithComponentFound = &sheet; if( aSearchType == HIGHLIGHT_PIN ) { // temporary: will be changed if the pin is found. - pos = component->GetPosition(); - pin = component->GetPin( aSearchText ); + pos = symbol->GetPosition(); + pin = symbol->GetPin( aSearchText ); // Ensure we have found the right unit in case of multi-units symbol if( pin ) { int unit = pin->GetLibPin()->GetUnit(); - if( unit != 0 && unit != component->GetUnit() ) + if( unit != 0 && unit != symbol->GetUnit() ) { pin = nullptr; continue; @@ -95,8 +95,8 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, } else { - pos = component->GetPosition(); - foundItem = component; + pos = symbol->GetPosition(); + foundItem = symbol; break; } } @@ -109,7 +109,7 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, CROSS_PROBING_SETTINGS& crossProbingSettings = m_frame->eeconfig()->m_CrossProbing; - if( component ) + if( symbol ) { if( *sheetWithComponentFound != m_frame->GetCurrentSheet() ) { @@ -127,7 +127,7 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, //#define COMP_1_TO_1_RATIO // Un-comment for normal KiCad full screen zoom cross-probe #ifdef COMP_1_TO_1_RATIO // Pass "false" to only include visible fields of component in bbox calculations - EDA_RECT bbox = component->GetBoundingBox( false ); + EDA_RECT bbox = symbol->GetBoundingBox( false ); wxSize bbSize = bbox.Inflate( bbox.GetWidth() * 0.2f ).GetSize(); VECTOR2D screenSize = getView()->GetViewport().GetSize(); @@ -145,7 +145,7 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, #ifndef COMP_1_TO_1_RATIO // Do the scaled zoom // Pass "false" to only include visible fields of component in bbox calculations - EDA_RECT bbox = component->GetBoundingBox( false ); + EDA_RECT bbox = symbol->GetBoundingBox( false ); wxSize bbSize = bbox.Inflate( bbox.GetWidth() * 0.2f ).GetSize(); VECTOR2D screenSize = getView()->GetViewport().GetSize(); @@ -257,7 +257,7 @@ SCH_ITEM* SCH_EDITOR_CONTROL::FindSymbolAndItem( const wxString& aReference, /* Print diag */ wxString msg; - if( component ) + if( symbol ) { if( aSearchType == HIGHLIGHT_PIN ) { @@ -350,7 +350,7 @@ void SCH_EDIT_FRAME::ExecuteRemoteCommand( const char* cmdline ) if( idcmd == nullptr ) // Highlight component only (from CvPcb or Pcbnew) { // Highlight component part_ref, or clear Highlight, if part_ref is not existing - editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_COMPONENT, wxEmptyString ); + editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_SYMBOL, wxEmptyString ); return; } @@ -365,13 +365,13 @@ void SCH_EDIT_FRAME::ExecuteRemoteCommand( const char* cmdline ) { // Highlighting the reference itself isn't actually that useful, and it's harder to // see. Highlight the parent and display the message. - editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_COMPONENT, msg ); + editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_SYMBOL, msg ); } else if( strcmp( idcmd, "$VAL:" ) == 0 ) { // Highlighting the value itself isn't actually that useful, and it's harder to see. // Highlight the parent and display the message. - editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_COMPONENT, msg ); + editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_SYMBOL, msg ); } else if( strcmp( idcmd, "$PAD:" ) == 0 ) { @@ -379,12 +379,12 @@ void SCH_EDIT_FRAME::ExecuteRemoteCommand( const char* cmdline ) } else { - editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_COMPONENT, wxEmptyString ); + editor->FindSymbolAndItem( part_ref, true, HIGHLIGHT_SYMBOL, wxEmptyString ); } } -std::string FormatProbeItem( EDA_ITEM* aItem, SCH_COMPONENT* aSymbol ) +std::string FormatProbeItem( EDA_ITEM* aItem, SCH_SYMBOL* aSymbol ) { // This is a keyword followed by a quoted string. @@ -399,8 +399,8 @@ std::string FormatProbeItem( EDA_ITEM* aItem, SCH_COMPONENT* aSymbol ) } break; - case SCH_COMPONENT_T: - aSymbol = (SCH_COMPONENT*) aItem; + case SCH_SYMBOL_T: + aSymbol = (SCH_SYMBOL*) aItem; return StrPrintf( "$PART: \"%s\"", TO_UTF8( aSymbol->GetField( REFERENCE_FIELD )->GetText() ) ); @@ -452,7 +452,7 @@ std::string FormatProbeItem( EDA_ITEM* aItem, SCH_COMPONENT* aSymbol ) } -void SCH_EDIT_FRAME::SendMessageToPCBNEW( EDA_ITEM* aObjectToSync, SCH_COMPONENT* aLibItem ) +void SCH_EDIT_FRAME::SendMessageToPCBNEW( EDA_ITEM* aObjectToSync, SCH_SYMBOL* aLibItem ) { wxASSERT( aObjectToSync ); // fix the caller diff --git a/eeschema/dialogs/dialog_change_symbols.cpp b/eeschema/dialogs/dialog_change_symbols.cpp index 9727cec75f..36aa67a712 100644 --- a/eeschema/dialogs/dialog_change_symbols.cpp +++ b/eeschema/dialogs/dialog_change_symbols.cpp @@ -49,7 +49,7 @@ bool g_resetFieldPositions[2] = { true, false }; bool g_resetAttributes[2] = { true, false }; -DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS( SCH_EDIT_FRAME* aParent, SCH_COMPONENT* aSymbol, +DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS( SCH_EDIT_FRAME* aParent, SCH_SYMBOL* aSymbol, MODE aMode ) : DIALOG_CHANGE_SYMBOLS_BASE( aParent ), m_symbol( aSymbol), @@ -272,9 +272,9 @@ void DIALOG_CHANGE_SYMBOLS::updateFieldsList() wxCHECK2( screen, continue ); - for( SCH_ITEM* item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = dynamic_cast( item ); + SCH_SYMBOL* symbol = dynamic_cast( item ); wxCHECK2( symbol, continue ); @@ -379,7 +379,7 @@ void DIALOG_CHANGE_SYMBOLS::onOkButtonClicked( wxCommandEvent& aEvent ) } -bool DIALOG_CHANGE_SYMBOLS::isMatch( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aInstance ) +bool DIALOG_CHANGE_SYMBOLS::isMatch( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aInstance ) { LIB_ID id; @@ -442,12 +442,12 @@ bool DIALOG_CHANGE_SYMBOLS::processMatchingSymbols() wxCHECK2( screen, continue ); - std::vector symbols; + std::vector symbols; - for( SCH_ITEM* item : screen->Items().OfType( SCH_COMPONENT_T ) ) - symbols.push_back( static_cast( item ) ); + for( SCH_ITEM* item : screen->Items().OfType( SCH_SYMBOL_T ) ) + symbols.push_back( static_cast( item ) ); - for( SCH_COMPONENT* symbol : symbols ) + for( SCH_SYMBOL* symbol : symbols ) { if( !isMatch( symbol, &instance ) ) continue; @@ -474,7 +474,7 @@ bool DIALOG_CHANGE_SYMBOLS::processMatchingSymbols() } -bool DIALOG_CHANGE_SYMBOLS::processSymbol( SCH_COMPONENT* aSymbol, const SCH_SHEET_PATH* aInstance, +bool DIALOG_CHANGE_SYMBOLS::processSymbol( SCH_SYMBOL* aSymbol, const SCH_SHEET_PATH* aInstance, const LIB_ID& aNewId, bool aAppendToUndo ) { wxCHECK( aSymbol, false ); diff --git a/eeschema/dialogs/dialog_change_symbols.h b/eeschema/dialogs/dialog_change_symbols.h index bddb5bc4b2..678ebb337b 100644 --- a/eeschema/dialogs/dialog_change_symbols.h +++ b/eeschema/dialogs/dialog_change_symbols.h @@ -26,7 +26,7 @@ #include class LIB_ID; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_EDIT_FRAME; class SCH_SCREEN; class SCH_SHEET_PATH; @@ -39,7 +39,7 @@ class DIALOG_CHANGE_SYMBOLS : public DIALOG_CHANGE_SYMBOLS_BASE public: enum class MODE { CHANGE = 0, UPDATE }; - DIALOG_CHANGE_SYMBOLS( SCH_EDIT_FRAME* aParent, SCH_COMPONENT* aSymbol, + DIALOG_CHANGE_SYMBOLS( SCH_EDIT_FRAME* aParent, SCH_SYMBOL* aSymbol, MODE aMode = MODE::UPDATE ); ~DIALOG_CHANGE_SYMBOLS() override; @@ -70,13 +70,13 @@ protected: private: void updateFieldsList(); - bool isMatch( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aInstance ); + bool isMatch( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aInstance ); bool processMatchingSymbols(); - bool processSymbol( SCH_COMPONENT* aSymbol, const SCH_SHEET_PATH* aInstance, + bool processSymbol( SCH_SYMBOL* aSymbol, const SCH_SHEET_PATH* aInstance, const LIB_ID& aNewId, bool aAppendToUndo ); - SCH_COMPONENT* m_symbol; - MODE m_mode; + SCH_SYMBOL* m_symbol; + MODE m_mode; ///< Set of field names that should have values updated std::set m_updateFields; diff --git a/eeschema/dialogs/dialog_choose_symbol.cpp b/eeschema/dialogs/dialog_choose_symbol.cpp index 0b4139c0ee..ea3e7871d4 100644 --- a/eeschema/dialogs/dialog_choose_symbol.cpp +++ b/eeschema/dialogs/dialog_choose_symbol.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2016-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2016-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -71,7 +71,7 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr m_external_browser_requested( false ) { // Never show footprints in power symbol mode - if( aAdapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::CMP_FILTER_POWER ) + if( aAdapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::SYM_FILTER_POWER ) m_show_footprints = false; wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL ); @@ -201,8 +201,8 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr Bind( wxEVT_INIT_DIALOG, &DIALOG_CHOOSE_SYMBOL::OnInitDialog, this ); Bind( wxEVT_TIMER, &DIALOG_CHOOSE_SYMBOL::OnCloseTimer, this, m_dbl_click_timer->GetId() ); - Bind( COMPONENT_PRESELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentPreselected, this ); - Bind( COMPONENT_SELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentSelected, this ); + Bind( SYMBOL_PRESELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentPreselected, this ); + Bind( SYMBOL_SELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentSelected, this ); if( m_browser_button ) { @@ -228,8 +228,8 @@ DIALOG_CHOOSE_SYMBOL::~DIALOG_CHOOSE_SYMBOL() { Unbind( wxEVT_INIT_DIALOG, &DIALOG_CHOOSE_SYMBOL::OnInitDialog, this ); Unbind( wxEVT_TIMER, &DIALOG_CHOOSE_SYMBOL::OnCloseTimer, this ); - Unbind( COMPONENT_PRESELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentPreselected, this ); - Unbind( COMPONENT_SELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentSelected, this ); + Unbind( SYMBOL_PRESELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentPreselected, this ); + Unbind( SYMBOL_SELECTED, &DIALOG_CHOOSE_SYMBOL::OnComponentSelected, this ); if( m_browser_button ) { @@ -368,7 +368,7 @@ void DIALOG_CHOOSE_SYMBOL::OnUseBrowser( wxCommandEvent& aEvent ) void DIALOG_CHOOSE_SYMBOL::OnCloseTimer( wxTimerEvent& aEvent ) { // Hack handler because of eaten MouseUp event. See - // DIALOG_CHOOSE_COMPONENT::OnComponentSelected for the beginning + // DIALOG_CHOOSE_SYMBOL::OnComponentSelected for the beginning // of this spaghetti noodle. auto state = wxGetMouseState(); @@ -549,7 +549,7 @@ void DIALOG_CHOOSE_SYMBOL::OnComponentSelected( wxCommandEvent& aEvent ) // possible (docs are vague). To get around this, we use a one-shot // timer to schedule the dialog close. // - // See DIALOG_CHOOSE_COMPONENT::OnCloseTimer for the other end of this + // See DIALOG_CHOOSE_SYMBOL::OnCloseTimer for the other end of this // spaghetti noodle. m_dbl_click_timer->StartOnce( DIALOG_CHOOSE_SYMBOL::DblClickDelay ); } @@ -565,4 +565,4 @@ bool DIALOG_CHOOSE_SYMBOL::GetUseAllUnits() const bool DIALOG_CHOOSE_SYMBOL::GetKeepSymbol() const { return m_keepSymbol->GetValue(); -} \ No newline at end of file +} diff --git a/eeschema/dialogs/dialog_choose_symbol.h b/eeschema/dialogs/dialog_choose_symbol.h index 9056415838..4c88194196 100644 --- a/eeschema/dialogs/dialog_choose_symbol.h +++ b/eeschema/dialogs/dialog_choose_symbol.h @@ -21,8 +21,8 @@ * or you may write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef DIALOG_CHOOSE_COMPONENT_H -#define DIALOG_CHOOSE_COMPONENT_H +#ifndef DIALOG_CHOOSE_SYMBOL_H +#define DIALOG_CHOOSE_SYMBOL_H #include "dialog_shim.h" #include @@ -55,8 +55,8 @@ class SCH_DRAW_PANEL; * Dialog class to select a symbol from the libraries. This is the master View class in a * Model-View-Adapter (mediated MVC) architecture. The other pieces are in: * - * - Adapter: CMP_TREE_MODEL_ADAPTER in common/cmp_tree_model_adapter.h - * - Model: CMP_TREE_NODE and descendants in common/cmp_tree_model.h + * - Adapter: SYM_TREE_MODEL_ADAPTER in common/cmp_tree_model_adapter.h + * - Model: SYM_TREE_NODE and descendants in common/cmp_tree_model.h * * Because everything is tied together in the adapter class, see that file * for thorough documentation. A simple example usage follows: @@ -94,7 +94,7 @@ public: * * @param aParent a SCH_BASE_FRAME parent window. * @param aTitle Dialog title. - * @param aAdapter SYMBOL_TREE_MODEL_ADAPTER::PTR. See CMP_TREE_MODEL_ADAPTER + * @param aAdapter SYMBOL_TREE_MODEL_ADAPTER::PTR. See SYM_TREE_MODEL_ADAPTER * for documentation. * @param aDeMorganConvert preferred deMorgan conversion. * (TODO: should happen in dialog) @@ -227,4 +227,4 @@ protected: std::vector> m_field_edits; }; -#endif /* DIALOG_CHOOSE_COMPONENT_H */ +#endif /* DIALOG_CHOOSE_SYMBOL_H */ diff --git a/eeschema/dialogs/dialog_edit_components_libid.cpp b/eeschema/dialogs/dialog_edit_components_libid.cpp index 94b9d9f23e..d4e4beb98c 100644 --- a/eeschema/dialogs/dialog_edit_components_libid.cpp +++ b/eeschema/dialogs/dialog_edit_components_libid.cpp @@ -242,33 +242,33 @@ int GRIDCELL_AUTOWRAP_STRINGRENDERER::GetHeight( wxDC& aDC, wxGrid* aGrid, int a /** * A helper to handle symbols to edit. */ -class CMP_CANDIDATE +class SYM_CANDIDATE { public: - CMP_CANDIDATE( SCH_COMPONENT* aComponent ) + SYM_CANDIDATE( SCH_SYMBOL* aSymbol ) { - m_Component = aComponent; - m_InitialLibId = m_Component->GetLibId().Format(); + m_Symbol = aSymbol; + m_InitialLibId = m_Symbol->GetLibId().Format(); m_Row = -1; m_IsOrphan = false; m_Screen = nullptr; } - // Return a string like mylib:symbol_name from the #LIB_ID of the component. + // Return a string like mylib:symbol_name from the #LIB_ID of the symbol. wxString GetStringLibId() { - return m_Component->GetLibId().GetUniStringLibId(); + return m_Symbol->GetLibId().GetUniStringLibId(); } - // Return a string containing the reference of the component. + // Return a string containing the reference of the symbol. wxString GetSchematicReference() { return m_Reference; } - SCH_COMPONENT* m_Component; // the schematic component + SCH_SYMBOL* m_Symbol; // the schematic symbol int m_Row; // the row index in m_grid - SCH_SCREEN* m_Screen; // the screen where m_Component lives + SCH_SCREEN* m_Screen; // the screen where m_Symbol lives wxString m_Reference; // the schematic reference, only to display it in list wxString m_InitialLibId; // the Lib Id of the component before any change bool m_IsOrphan; // true if a component has no corresponding symbol found in libs @@ -344,7 +344,7 @@ private: bool m_isModified; // set to true if the schematic is modified std::vector m_OrphansRowIndexes; // list of rows containing orphan lib_id - std::vector m_components; + std::vector m_symbols; GRIDCELL_AUTOWRAP_STRINGRENDERER* m_autoWrapRenderer; }; @@ -373,12 +373,12 @@ DIALOG_EDIT_COMPONENTS_LIBID::~DIALOG_EDIT_COMPONENTS_LIBID() // A sort compare function to sort components list by LIB_ID and then reference -static bool sort_by_libid( const CMP_CANDIDATE& cmp1, const CMP_CANDIDATE& cmp2 ) +static bool sort_by_libid( const SYM_CANDIDATE& cmp1, const SYM_CANDIDATE& cmp2 ) { - if( cmp1.m_Component->GetLibId() == cmp2.m_Component->GetLibId() ) + if( cmp1.m_Symbol->GetLibId() == cmp2.m_Symbol->GetLibId() ) return cmp1.m_Reference.Cmp( cmp2.m_Reference ) < 0; - return cmp1.m_Component->GetLibId() < cmp2.m_Component->GetLibId(); + return cmp1.m_Symbol->GetLibId() < cmp2.m_Symbol->GetLibId(); } @@ -404,29 +404,29 @@ void DIALOG_EDIT_COMPONENTS_LIBID::initDlg() for( unsigned ii = 0; ii < references.GetCount(); ii++ ) { SCH_REFERENCE& item = references[ii]; - CMP_CANDIDATE candidate( item.GetSymbol() ); + SYM_CANDIDATE candidate( item.GetSymbol() ); candidate.m_Screen = item.GetSheetPath().LastScreen(); SCH_SHEET_PATH sheetpath = item.GetSheetPath(); - candidate.m_Reference = candidate.m_Component->GetRef( &sheetpath ); - int unitcount = candidate.m_Component->GetUnitCount(); + candidate.m_Reference = candidate.m_Symbol->GetRef( &sheetpath ); + int unitcount = candidate.m_Symbol->GetUnitCount(); candidate.m_IsOrphan = ( unitcount == 0 ); - m_components.push_back( candidate ); + m_symbols.push_back( candidate ); } - if( m_components.size() == 0 ) + if( m_symbols.size() == 0 ) return; // now sort by lib id to create groups of items having the same lib id - std::sort( m_components.begin(), m_components.end(), sort_by_libid ); + std::sort( m_symbols.begin(), m_symbols.end(), sort_by_libid ); // Now, fill m_grid - wxString last_str_libid = m_components.front().GetStringLibId(); + wxString last_str_libid = m_symbols.front().GetStringLibId(); int row = 0; wxString refs; wxString last_ref; - bool mark_cell = m_components.front().m_IsOrphan; + bool mark_cell = m_symbols.front().m_IsOrphan; - for( auto& cmp : m_components ) + for( auto& cmp : m_symbols ) { wxString str_libid = cmp.GetStringLibId(); @@ -709,7 +709,7 @@ bool DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow() LIB_ID id; id.Parse( new_libid, true ); - for( CMP_CANDIDATE& cmp : m_components ) + for( SYM_CANDIDATE& cmp : m_symbols ) { if( cmp.m_Row != row ) continue; @@ -735,30 +735,30 @@ bool DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow() if( symbol == nullptr ) continue; - GetParent()->SaveCopyInUndoList( cmp.m_Screen, cmp.m_Component, UNDO_REDO::CHANGED, + GetParent()->SaveCopyInUndoList( cmp.m_Screen, cmp.m_Symbol, UNDO_REDO::CHANGED, m_isModified ); m_isModified = true; - cmp.m_Screen->Remove( cmp.m_Component ); - SCH_FIELD* value = cmp.m_Component->GetField( VALUE_FIELD ); + cmp.m_Screen->Remove( cmp.m_Symbol ); + SCH_FIELD* value = cmp.m_Symbol->GetField( VALUE_FIELD ); // If value is a proxy for the itemName then make sure it gets updated - if( cmp.m_Component->GetLibId().GetLibItemName().wx_str() == value->GetText() ) - cmp.m_Component->SetValue( id.GetLibItemName().wx_str() ); + if( cmp.m_Symbol->GetLibId().GetLibItemName().wx_str() == value->GetText() ) + cmp.m_Symbol->SetValue( id.GetLibItemName().wx_str() ); - cmp.m_Component->SetLibId( id ); - cmp.m_Component->SetLibSymbol( symbol->Flatten().release() ); - cmp.m_Screen->Append( cmp.m_Component ); + cmp.m_Symbol->SetLibId( id ); + cmp.m_Symbol->SetLibSymbol( symbol->Flatten().release() ); + cmp.m_Screen->Append( cmp.m_Symbol ); cmp.m_Screen->SetContentModified(); if ( m_checkBoxUpdateFields->IsChecked() ) { - cmp.m_Component->UpdateFields( nullptr, - false, /* update style */ - false, /* update ref */ - false, /* update other fields */ - false, /* reset ref */ - true /* reset other fields */ ); + cmp.m_Symbol->UpdateFields( nullptr, + false, /* update style */ + false, /* update ref */ + false, /* update other fields */ + false, /* reset ref */ + true /* reset other fields */ ); } } } diff --git a/eeschema/dialogs/dialog_edit_label.cpp b/eeschema/dialogs/dialog_edit_label.cpp index 06f2c4e87a..949d2019fb 100644 --- a/eeschema/dialogs/dialog_edit_label.cpp +++ b/eeschema/dialogs/dialog_edit_label.cpp @@ -275,7 +275,7 @@ void DIALOG_LABEL_EDITOR::onScintillaCharAdded( wxStyledTextEvent &aEvent ) wxString ref = te->GetRange( refStart, start-1 ); SCH_SHEET_LIST sheets = m_Parent->Schematic().GetSheets(); SCH_REFERENCE_LIST refs; - SCH_COMPONENT* refSymbol = nullptr; + SCH_SYMBOL* refSymbol = nullptr; sheets.GetSymbols( refs ); diff --git a/eeschema/dialogs/dialog_edit_one_field.cpp b/eeschema/dialogs/dialog_edit_one_field.cpp index 3285a2b6f9..df6a56629d 100644 --- a/eeschema/dialogs/dialog_edit_one_field.cpp +++ b/eeschema/dialogs/dialog_edit_one_field.cpp @@ -230,7 +230,7 @@ bool DIALOG_EDIT_ONE_FIELD::TransferDataFromWindow() if( m_fieldId == REFERENCE_FIELD ) { // Test if the reference string is valid: - if( !SCH_COMPONENT::IsReferenceStringValid( m_text ) ) + if( !SCH_SYMBOL::IsReferenceStringValid( m_text ) ) { DisplayError( this, _( "Illegal reference designator value!" ) ); return false; @@ -290,7 +290,7 @@ DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD( SCH_BASE_FRAME* aParent, DIALOG_EDIT_ONE_FIELD( aParent, aTitle, aField ), m_field( aField ) { - if( aField->GetParent() && aField->GetParent()->Type() == SCH_COMPONENT_T ) + if( aField->GetParent() && aField->GetParent()->Type() == SCH_SYMBOL_T ) { m_fieldId = aField->GetId(); } @@ -311,14 +311,14 @@ DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD( SCH_BASE_FRAME* aParent, m_textLabel->SetLabel( m_field->GetName() + ":" ); - // The library symbol may have been removed so using SCH_COMPONENT::GetPartRef() here + // The library symbol may have been removed so using SCH_SYMBOL::GetPartRef() here // could result in a segfault. If the library symbol is no longer available, the // schematic fields can still edit so set the power symbol flag to false. This may not // be entirely accurate if the power library is missing but it's better then a segfault. - if( aField->GetParent() && aField->GetParent()->Type() == SCH_COMPONENT_T ) + if( aField->GetParent() && aField->GetParent()->Type() == SCH_SYMBOL_T ) { - const SCH_COMPONENT* component = (SCH_COMPONENT*) aField->GetParent(); - const LIB_PART* part = GetParent()->GetLibPart( component->GetLibId(), true ); + const SCH_SYMBOL* symbol = (SCH_SYMBOL*) aField->GetParent(); + const LIB_PART* part = GetParent()->GetLibPart( symbol->GetLibId(), true ); if( part && part->IsPower() ) m_isPower = true; @@ -375,7 +375,7 @@ void DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded( wxStyledTextEvent &aEvent wxString ref = m_StyledTextCtrl->GetRange( refStart, start - 1 ); SCH_SHEET_LIST sheets = editFrame->Schematic().GetSheets(); SCH_REFERENCE_LIST refs; - SCH_COMPONENT* refSymbol = nullptr; + SCH_SYMBOL* refSymbol = nullptr; sheets.GetSymbols( refs ); @@ -396,8 +396,8 @@ void DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded( wxStyledTextEvent &aEvent { partial = m_StyledTextCtrl->GetTextRange( start, pos ); - SCH_COMPONENT* symbol = dynamic_cast( m_field->GetParent() ); - SCH_SHEET* sheet = dynamic_cast( m_field->GetParent() ); + SCH_SYMBOL* symbol = dynamic_cast( m_field->GetParent() ); + SCH_SHEET* sheet = dynamic_cast( m_field->GetParent() ); if( symbol ) { @@ -427,9 +427,9 @@ void DIALOG_SCH_EDIT_ONE_FIELD::UpdateField( SCH_FIELD* aField, SCH_SHEET_PATH* SCH_ITEM* parent = dynamic_cast( aField->GetParent() ); int fieldType = aField->GetId(); - if( parent && parent->Type() == SCH_COMPONENT_T ) + if( parent && parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( parent ); + SCH_SYMBOL* symbol = static_cast( parent ); if( fieldType == REFERENCE_FIELD ) symbol->SetRef( aSheetPath, m_text ); @@ -461,9 +461,9 @@ void DIALOG_SCH_EDIT_ONE_FIELD::UpdateField( SCH_FIELD* aField, SCH_SHEET_PATH* // The value, footprint and datasheet fields should be kept in sync in multi-unit parts. // Of course the component must be annotated to collect other units. - if( editFrame && parent && parent->Type() == SCH_COMPONENT_T ) + if( editFrame && parent && parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( parent ); + SCH_SYMBOL* symbol = static_cast( parent ); if( symbol->IsAnnotated( aSheetPath ) && ( fieldType == VALUE_FIELD || fieldType == FOOTPRINT_FIELD @@ -475,13 +475,13 @@ void DIALOG_SCH_EDIT_ONE_FIELD::UpdateField( SCH_FIELD* aField, SCH_SHEET_PATH* for( SCH_SHEET_PATH& sheet : editFrame->Schematic().GetSheets() ) { - SCH_SCREEN* screen = sheet.LastScreen(); - std::vector otherUnits; - constexpr bool appendUndo = true; + SCH_SCREEN* screen = sheet.LastScreen(); + std::vector otherUnits; + constexpr bool appendUndo = true; CollectOtherUnits( ref, unit, libId, sheet, &otherUnits ); - for( SCH_COMPONENT* otherUnit : otherUnits ) + for( SCH_SYMBOL* otherUnit : otherUnits ) { editFrame->SaveCopyInUndoList( screen, otherUnit, UNDO_REDO::CHANGED, appendUndo ); diff --git a/eeschema/dialogs/dialog_fields_editor_global.cpp b/eeschema/dialogs/dialog_fields_editor_global.cpp index e627ed8305..dd2b1bafcf 100644 --- a/eeschema/dialogs/dialog_fields_editor_global.cpp +++ b/eeschema/dialogs/dialog_fields_editor_global.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2017 Oliver Walters - * Copyright (C) 2017-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -205,8 +205,9 @@ public: for( unsigned i = 0; i < m_symbolsList.GetCount(); ++i ) { - SCH_COMPONENT* symbol = m_symbolsList[ i ].GetSymbol(); - m_dataStore[ symbol->m_Uuid ][ aFieldName ] = symbol->GetFieldText( aFieldName, m_frame ); + SCH_SYMBOL* symbol = m_symbolsList[ i ].GetSymbol(); + m_dataStore[ symbol->m_Uuid ][ aFieldName ] = symbol->GetFieldText( aFieldName, + m_frame ); } } @@ -589,8 +590,8 @@ public: { for( unsigned i = 0; i < m_symbolsList.GetCount(); ++i ) { - SCH_COMPONENT& symbol = *m_symbolsList[ i ].GetSymbol(); - SCH_SCREEN* screen = m_symbolsList[i].GetSheetPath().LastScreen(); + SCH_SYMBOL& symbol = *m_symbolsList[ i ].GetSymbol(); + SCH_SCREEN* screen = m_symbolsList[i].GetSheetPath().LastScreen(); m_frame->SaveCopyInUndoList( screen, &symbol, UNDO_REDO::CHANGED, true ); @@ -840,16 +841,16 @@ bool DIALOG_FIELDS_EDITOR_GLOBAL::TransferDataToWindow() TOOL_MANAGER* toolMgr = m_parent->GetToolManager(); EE_SELECTION_TOOL* selectionTool = toolMgr->GetTool(); EE_SELECTION& selection = selectionTool->GetSelection(); - SCH_COMPONENT* symbol = nullptr; + SCH_SYMBOL* symbol = nullptr; if( selection.GetSize() == 1 ) { EDA_ITEM* item = selection.Front(); - if( item->Type() == SCH_COMPONENT_T ) - symbol = (SCH_COMPONENT*) item; - else if( item->GetParent() && item->GetParent()->Type() == SCH_COMPONENT_T ) - symbol = (SCH_COMPONENT*) item->GetParent(); + if( item->Type() == SCH_SYMBOL_T ) + symbol = (SCH_SYMBOL*) item; + else if( item->GetParent() && item->GetParent()->Type() == SCH_SYMBOL_T ) + symbol = (SCH_SYMBOL*) item->GetParent(); } if( symbol ) @@ -943,7 +944,7 @@ void DIALOG_FIELDS_EDITOR_GLOBAL::LoadFieldNames() for( unsigned i = 0; i < m_symbolsList.GetCount(); ++i ) { - SCH_COMPONENT* symbol = m_symbolsList[ i ].GetSymbol(); + SCH_SYMBOL* symbol = m_symbolsList[ i ].GetSymbol(); for( int j = MANDATORY_FIELDS; j < symbol->GetFieldCount(); ++j ) userFieldNames.insert( symbol->GetFields()[j].GetName() ); @@ -1148,7 +1149,7 @@ void DIALOG_FIELDS_EDITOR_GLOBAL::OnTableCellClick( wxGridEvent& event ) SCH_EDITOR_CONTROL* editor = m_parent->GetToolManager()->GetTool(); editor->FindSymbolAndItem( refs[ 0 ].GetRef() + refs[ 0 ].GetRefNumber(), true, - HIGHLIGHT_COMPONENT, wxEmptyString ); + HIGHLIGHT_SYMBOL, wxEmptyString ); } } else diff --git a/eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp b/eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp index 9c5a0b8326..4475fb9f47 100644 --- a/eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp +++ b/eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp @@ -302,9 +302,9 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem( const SCH_SHEET_PATH& aShe if( m_referenceFilterOpt->GetValue() && !m_referenceFilter->GetValue().IsEmpty() ) { - if( aItem->Type() == SCH_COMPONENT_T ) + if( aItem->Type() == SCH_SYMBOL_T ) { - wxString ref = static_cast( aItem )->GetRef( &aSheetPath ); + wxString ref = static_cast( aItem )->GetRef( &aSheetPath ); if( !WildCompareString( m_referenceFilter->GetValue(), ref, false ) ) return; @@ -313,9 +313,9 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem( const SCH_SHEET_PATH& aShe if( m_symbolFilterOpt->GetValue() && !m_symbolFilter->GetValue().IsEmpty() ) { - if( aItem->Type() == SCH_COMPONENT_T ) + if( aItem->Type() == SCH_SYMBOL_T ) { - wxString id = static_cast( aItem )->GetLibId().Format(); + wxString id = static_cast( aItem )->GetLibId().Format(); if( !WildCompareString( m_symbolFilter->GetValue(), id, false ) ) return; @@ -324,9 +324,9 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem( const SCH_SHEET_PATH& aShe if( m_typeFilterOpt->GetValue() ) { - if( aItem->Type() == SCH_COMPONENT_T ) + if( aItem->Type() == SCH_SYMBOL_T ) { - bool isPower = static_cast( aItem )->GetPartRef()->IsPower(); + bool isPower = static_cast( aItem )->GetPartRef()->IsPower(); if( isPower != ( m_typeFilter->GetSelection() == 1 ) ) return; @@ -337,9 +337,9 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem( const SCH_SHEET_PATH& aShe static KICAD_T busTypes[] = { SCH_LINE_LOCATE_BUS_T, SCH_LABEL_LOCATE_BUS_T, EOT }; static KICAD_T schTextAndGraphics[] = { SCH_TEXT_T, SCH_LINE_LOCATE_GRAPHIC_LINE_T, EOT }; - if( aItem->Type() == SCH_COMPONENT_T ) + if( aItem->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = (SCH_COMPONENT*) aItem; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) aItem; if( m_references->GetValue() ) processItem( aSheetPath, symbol->GetField( REFERENCE_FIELD ), aItem ); diff --git a/eeschema/dialogs/dialog_lib_symbol_properties.cpp b/eeschema/dialogs/dialog_lib_symbol_properties.cpp index bf4bd07dc4..77917acb9b 100644 --- a/eeschema/dialogs/dialog_lib_symbol_properties.cpp +++ b/eeschema/dialogs/dialog_lib_symbol_properties.cpp @@ -222,7 +222,7 @@ bool DIALOG_LIB_SYMBOL_PROPERTIES::Validate() // Alias symbol reference can be empty because it inherits from the parent symbol. if( m_libEntry->IsRoot() && - !SCH_COMPONENT::IsReferenceStringValid( m_fields->at( REFERENCE_FIELD ).GetText() ) ) + !SCH_SYMBOL::IsReferenceStringValid( m_fields->at( REFERENCE_FIELD ).GetText() ) ) { if( m_NoteBook->GetSelection() != 0 ) m_NoteBook->SetSelection( 0 ); @@ -564,9 +564,9 @@ void DIALOG_LIB_SYMBOL_PROPERTIES::OnEditSpiceModel( wxCommandEvent& event ) { #ifdef KICAD_SPICE int diff = m_fields->size(); - auto cmp = SCH_COMPONENT( *m_libEntry, m_libEntry->GetLibId(), nullptr ); + auto symbol = SCH_SYMBOL( *m_libEntry, m_libEntry->GetLibId(), nullptr ); - DIALOG_SPICE_MODEL dialog( this, cmp, m_fields ); + DIALOG_SPICE_MODEL dialog( this, symbol, m_fields ); if( dialog.ShowModal() != wxID_OK ) return; diff --git a/eeschema/dialogs/dialog_rescue_each.cpp b/eeschema/dialogs/dialog_rescue_each.cpp index afc3938b34..e6e684890d 100644 --- a/eeschema/dialogs/dialog_rescue_each.cpp +++ b/eeschema/dialogs/dialog_rescue_each.cpp @@ -214,15 +214,15 @@ void DIALOG_RESCUE_EACH::PopulateInstanceList() wxVector data; int count = 0; - for( SCH_COMPONENT* each_component : *m_Rescuer->GetComponents() ) + for( SCH_SYMBOL* eachSymbol : *m_Rescuer->GetSymbols() ) { - if( each_component->GetLibId().Format() != UTF8( selected_part.GetRequestedName() ) ) + if( eachSymbol->GetLibId().Format() != UTF8( selected_part.GetRequestedName() ) ) continue; - SCH_FIELD* valueField = each_component->GetField( VALUE_FIELD ); + SCH_FIELD* valueField = eachSymbol->GetField( VALUE_FIELD ); data.clear(); - data.push_back( each_component->GetRef( m_currentSheet ) ); + data.push_back( eachSymbol->GetRef( m_currentSheet ) ); data.push_back( valueField ? valueField->GetText() : wxT( "" ) ); m_ListOfInstances->AppendItem( data ); count++; diff --git a/eeschema/dialogs/dialog_spice_model.cpp b/eeschema/dialogs/dialog_spice_model.cpp index 3aa52f3dc1..c10771b5ec 100644 --- a/eeschema/dialogs/dialog_spice_model.cpp +++ b/eeschema/dialogs/dialog_spice_model.cpp @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2020-2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2016-2017 CERN * @author Maciej Suminski * @@ -47,7 +47,8 @@ static bool empty( const wxTextCtrl* aCtrl ) // Function to sort PWL values list -static int wxCALLBACK comparePwlValues( wxIntPtr aItem1, wxIntPtr aItem2, wxIntPtr WXUNUSED( aSortData ) ) +static int wxCALLBACK comparePwlValues( wxIntPtr aItem1, wxIntPtr aItem2, + wxIntPtr WXUNUSED( aSortData ) ) { float* t1 = reinterpret_cast( &aItem1 ); float* t2 = reinterpret_cast( &aItem2 ); @@ -106,8 +107,9 @@ static int getModelTypeIdx( char aPrimitive ) } -DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_COMPONENT& aComponent, SCH_FIELDS* aFields ) - : DIALOG_SPICE_MODEL_BASE( aParent ), m_component( aComponent ), m_schfields( aFields ), +DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_SYMBOL& aSymbol, + SCH_FIELDS* aFields ) + : DIALOG_SPICE_MODEL_BASE( aParent ), m_symbol( aSymbol ), m_schfields( aFields ), m_libfields( nullptr ), m_useSchFields( true ), m_spiceEmptyValidator( true ), m_notEmptyValidator( wxFILTER_EMPTY ) { @@ -115,10 +117,10 @@ DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_COMPONENT& aCompo } -DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_COMPONENT& aComponent, +DIALOG_SPICE_MODEL::DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_SYMBOL& aSymbol, std::vector* aFields ) : DIALOG_SPICE_MODEL_BASE( aParent ), - m_component( aComponent ), + m_symbol( aSymbol ), m_schfields( nullptr ), m_libfields( aFields ), m_useSchFields( false ), @@ -257,7 +259,6 @@ bool DIALOG_SPICE_MODEL::TransferDataFromWindow() m_fieldsTmp[SF_MODEL] = m_pasValue->GetValue(); } - // Model else if( page == m_model ) { @@ -274,9 +275,7 @@ bool DIALOG_SPICE_MODEL::TransferDataFromWindow() if( !empty( m_modelLibrary ) ) m_fieldsTmp[SF_LIB_FILE] = m_modelLibrary->GetValue(); } - - // Power source - else if( page == m_power ) + else if( page == m_power ) // Power source { wxString model; @@ -286,8 +285,6 @@ bool DIALOG_SPICE_MODEL::TransferDataFromWindow() m_fieldsTmp[SF_PRIMITIVE] = (char)( m_pwrType->GetSelection() ? SP_ISOURCE : SP_VSOURCE ); m_fieldsTmp[SF_MODEL] = model; } - - else { wxASSERT_MSG( false, "Unhandled model type" ); @@ -310,7 +307,8 @@ bool DIALOG_SPICE_MODEL::TransferDataFromWindow() else { // Erase empty fields (having empty fields causes a warning in the properties dialog) - const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) i ); + const wxString& spiceField = + NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD ) i ); if( m_useSchFields ) { @@ -346,8 +344,9 @@ bool DIALOG_SPICE_MODEL::TransferDataToWindow() { const wxString& spiceField = spiceFields[idx]; - m_fieldsTmp[idx] = NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( (SPICE_FIELD) idx, &m_component, - NET_ADJUST_INCLUDE_PATHS | NET_ADJUST_PASSIVE_VALS ); + m_fieldsTmp[idx] = NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( + (SPICE_FIELD ) idx, &m_symbol, + NET_ADJUST_INCLUDE_PATHS | NET_ADJUST_PASSIVE_VALS ); // Do not modify the existing value, just add missing fields with default values if( m_useSchFields && m_schfields ) @@ -361,7 +360,7 @@ bool DIALOG_SPICE_MODEL::TransferDataToWindow() } } } - else if( m_libfields) + else if( m_libfields ) { // TODO: There must be a good way to template out these repetitive calls for( const LIB_FIELD& field : *m_libfields ) @@ -427,7 +426,7 @@ bool DIALOG_SPICE_MODEL::TransferDataToWindow() // Check if node sequence is different than the default one if( m_fieldsTmp[SF_NODE_SEQUENCE] - != NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( SF_NODE_SEQUENCE, &m_component, 0 ) ) + != NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( SF_NODE_SEQUENCE, &m_symbol, 0 ) ) { m_nodeSeqCheck->SetValue( true ); m_nodeSeqVal->SetValue( m_fieldsTmp[SF_NODE_SEQUENCE] ); @@ -540,15 +539,14 @@ bool DIALOG_SPICE_MODEL::parsePowerSource( const wxString& aModel ) genericControls = { m_pulseInit, m_pulseNominal, m_pulseDelay, m_pulseRise, m_pulseFall, m_pulseWidth, m_pulsePeriod }; } - - else if( tkn == "sin" ) { m_powerNotebook->SetSelection( m_powerNotebook->FindPage( m_pwrSin ) ); genericProcessing = true; genericReqParamsCount = 2; - genericControls = { m_sinOffset, m_sinAmplitude, m_sinFreq, m_sinDelay, m_sinDampFactor }; + genericControls = { m_sinOffset, m_sinAmplitude, m_sinFreq, m_sinDelay, + m_sinDampFactor }; } else if( tkn == "exp" ) { @@ -673,7 +671,8 @@ bool DIALOG_SPICE_MODEL::generatePowerSource( wxString& aTarget ) const try { if( !empty( m_genDc ) ) - acdc += wxString::Format( "dc %s ", SPICE_VALUE( m_genDc->GetValue() ).ToSpiceString() ); + acdc += wxString::Format( "dc %s ", + SPICE_VALUE( m_genDc->GetValue() ).ToSpiceString() ); } catch( ... ) { @@ -685,10 +684,12 @@ bool DIALOG_SPICE_MODEL::generatePowerSource( wxString& aTarget ) const { if( !empty( m_genAcMag ) ) { - acdc += wxString::Format( "ac %s ", SPICE_VALUE( m_genAcMag->GetValue() ).ToSpiceString() ); + acdc += wxString::Format( "ac %s ", + SPICE_VALUE( m_genAcMag->GetValue() ).ToSpiceString() ); if( !empty( m_genAcPhase ) ) - acdc += wxString::Format( "%s ", SPICE_VALUE( m_genAcPhase->GetValue() ).ToSpiceString() ); + acdc += wxString::Format( "%s ", + SPICE_VALUE( m_genAcPhase->GetValue() ).ToSpiceString() ); } } catch( ... ) @@ -792,26 +793,26 @@ bool DIALOG_SPICE_MODEL::generatePowerSource( wxString& aTarget ) const // all empty useTrans = false; } - else if( std::distance( genericControls.begin(), first_empty ) < (int)genericReqParamsCount ) + else if( std::distance( genericControls.begin(), + first_empty ) < (int)genericReqParamsCount ) { DisplayError( nullptr, - wxString::Format( wxT( "You need to specify at least the " - "first %d parameters for the transient source" ), - genericReqParamsCount ) ); + wxString::Format( _( "You need to specify at least the " + "first %d parameters for the transient source" ), + genericReqParamsCount ) ); return false; } else if( std::find_if_not( first_empty, genericControls.end(), - empty ) != genericControls.end() ) + empty ) != genericControls.end() ) { - DisplayError( nullptr, wxT( "You cannot leave interleaved empty fields " - "when defining a transient source" ) ); + DisplayError( nullptr, _( "You cannot leave interleaved empty fields " + "when defining a transient source" ) ); return false; } else { - std::for_each( genericControls.begin(), first_empty, - [&trans] ( wxTextCtrl* ctrl ) { + std::for_each( genericControls.begin(), first_empty, [&trans] ( wxTextCtrl* ctrl ) { trans += wxString::Format( "%s ", ctrl->GetValue() ); } ); } @@ -939,9 +940,11 @@ void DIALOG_SPICE_MODEL::loadLibrary( const wxString& aFilePath ) SCH_FIELD& DIALOG_SPICE_MODEL::getSchField( int aFieldType ) { - const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) aFieldType ); + const wxString& spiceField = + NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) aFieldType ); - auto fieldIt = std::find_if( m_schfields->begin(), m_schfields->end(), [&]( const SCH_FIELD& f ) { + auto fieldIt = std::find_if( m_schfields->begin(), m_schfields->end(), + [&]( const SCH_FIELD& f ) { return f.GetName() == spiceField; } ); @@ -950,14 +953,15 @@ SCH_FIELD& DIALOG_SPICE_MODEL::getSchField( int aFieldType ) return *fieldIt; // Create a new field with requested name - m_schfields->emplace_back( wxPoint(), m_schfields->size(), &m_component, spiceField ); + m_schfields->emplace_back( wxPoint(), m_schfields->size(), &m_symbol, spiceField ); return m_schfields->back(); } LIB_FIELD& DIALOG_SPICE_MODEL::getLibField( int aFieldType ) { - const wxString& spiceField = NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( (SPICE_FIELD) aFieldType ); + const wxString& spiceField = + NETLIST_EXPORTER_PSPICE::GetSpiceFieldName( ( SPICE_FIELD ) aFieldType ); auto fieldIt = std::find_if( m_libfields->begin(), m_libfields->end(), [&]( const LIB_FIELD& f ) @@ -1023,7 +1027,8 @@ void DIALOG_SPICE_MODEL::onSelectLibrary( wxCommandEvent& event ) wxFileName libPath( openDlg.GetPath() ); // Try to convert the path to relative to project - if( libPath.MakeRelativeTo( Prj().GetProjectPath() ) && !libPath.GetFullPath().StartsWith( ".." ) ) + if( libPath.MakeRelativeTo( Prj().GetProjectPath() ) + && !libPath.GetFullPath().StartsWith( ".." ) ) m_modelLibrary->SetValue( libPath.GetFullPath() ); else m_modelLibrary->SetValue( openDlg.GetPath() ); diff --git a/eeschema/dialogs/dialog_spice_model.h b/eeschema/dialogs/dialog_spice_model.h index d5051720cd..4906ee3485 100644 --- a/eeschema/dialogs/dialog_spice_model.h +++ b/eeschema/dialogs/dialog_spice_model.h @@ -40,9 +40,9 @@ class DIALOG_SPICE_MODEL : public DIALOG_SPICE_MODEL_BASE { public: - DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_COMPONENT& aComponent, + DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_SYMBOL& aSymbol, std::vector* aSchFields ); - DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_COMPONENT& aComponent, + DIALOG_SPICE_MODEL( wxWindow* aParent, SCH_SYMBOL& aSymbol, std::vector* aLibFields ); private: @@ -131,7 +131,7 @@ private: void onTypeSelected( wxCommandEvent& event ) override; ///< Edited component - SCH_COMPONENT& m_component; + SCH_SYMBOL& m_symbol; ///< Fields from the component properties dialog std::vector* m_schfields; diff --git a/eeschema/dialogs/dialog_symbol_properties.cpp b/eeschema/dialogs/dialog_symbol_properties.cpp index 0b5b52aee8..bcd870b405 100644 --- a/eeschema/dialogs/dialog_symbol_properties.cpp +++ b/eeschema/dialogs/dialog_symbol_properties.cpp @@ -274,15 +274,15 @@ public: DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES( SCH_EDIT_FRAME* aParent, - SCH_COMPONENT* aComponent ) : + SCH_SYMBOL* aSymbol ) : DIALOG_SYMBOL_PROPERTIES_BASE( aParent ), - m_comp( nullptr ), + m_symbol( nullptr ), m_part( nullptr ), m_fields( nullptr ), m_dataModel( nullptr ) { - m_comp = aComponent; - m_part = m_comp->GetPartRef().get(); + m_symbol = aSymbol; + m_part = m_symbol->GetPartRef().get(); // GetPartRef() now points to the cached part in the schematic, which should always be // there for usual cases, but can be null when opening old schematics not storing the part @@ -301,7 +301,7 @@ DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES( SCH_EDIT_FRAME* aParent, #endif /* not KICAD_SPICE */ // disable some options inside the edit dialog which can cause problems while dragging - if( m_comp->IsDragging() ) + if( m_symbol->IsDragging() ) { m_orientationLabel->Disable(); m_orientationCtrl->Disable(); @@ -332,14 +332,14 @@ DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES( SCH_EDIT_FRAME* aParent, // back and forth when the conversion is changed.) m_pinTablePage->Disable(); m_pinTablePage->SetToolTip( - _( "Alternate pin assignments are not available for DeMorgan components." ) ); + _( "Alternate pin assignments are not available for DeMorgan symbols." ) ); } else { m_dataModel = new SCH_PIN_TABLE_DATA_MODEL(); // Make a copy of the pins for editing - for( const std::unique_ptr& pin : m_comp->GetRawPins() ) + for( const std::unique_ptr& pin : m_symbol->GetRawPins() ) m_dataModel->push_back( *pin ); m_dataModel->SortRows( COL_NUMBER, true ); @@ -413,12 +413,12 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() std::set defined; // Push a copy of each field into m_updateFields - for( int i = 0; i < m_comp->GetFieldCount(); ++i ) + for( int i = 0; i < m_symbol->GetFieldCount(); ++i ) { - SCH_FIELD field( m_comp->GetFields()[i] ); + SCH_FIELD field( m_symbol->GetFields()[i] ); // change offset to be symbol-relative - field.Offset( -m_comp->GetPosition() ); + field.Offset( -m_symbol->GetPosition() ); defined.insert( field.GetName() ); m_fields->push_back( field ); @@ -430,7 +430,7 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() { if( defined.count( templateFieldname.m_Name ) <= 0 ) { - SCH_FIELD field( wxPoint( 0, 0 ), -1, m_comp, templateFieldname.m_Name ); + SCH_FIELD field( wxPoint( 0, 0 ), -1, m_symbol, templateFieldname.m_Name ); field.SetVisible( templateFieldname.m_Visible ); m_fields->push_back( field ); } @@ -441,14 +441,14 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() m_fieldsGrid->ProcessTableMessage( msg ); AdjustGridColumns( m_fieldsGrid->GetRect().GetWidth() ); - // If a multi-unit component, set up the unit selector and interchangeable checkbox. - if( m_comp->GetUnitCount() > 1 ) + // If a multi-unit symbol, set up the unit selector and interchangeable checkbox. + if( m_symbol->GetUnitCount() > 1 ) { - for( int ii = 1; ii <= m_comp->GetUnitCount(); ii++ ) + for( int ii = 1; ii <= m_symbol->GetUnitCount(); ii++ ) m_unitChoice->Append( LIB_PART::SubReference( ii, false ) ); - if( m_comp->GetUnit() <= ( int )m_unitChoice->GetCount() ) - m_unitChoice->SetSelection( m_comp->GetUnit() - 1 ); + if( m_symbol->GetUnit() <= ( int )m_unitChoice->GetCount() ) + m_unitChoice->SetSelection( m_symbol->GetUnit() - 1 ); } else { @@ -458,7 +458,7 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() if( m_part && m_part->HasConversion() ) { - if( m_comp->GetConvert() > LIB_ITEM::LIB_CONVERT::BASE ) + if( m_symbol->GetConvert() > LIB_ITEM::LIB_CONVERT::BASE ) m_cbAlternateSymbol->SetValue( true ); } else @@ -467,28 +467,28 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() } // Set the symbol orientation and mirroring. - int orientation = m_comp->GetOrientation() & ~( CMP_MIRROR_X | CMP_MIRROR_Y ); + int orientation = m_symbol->GetOrientation() & ~( SYM_MIRROR_X | SYM_MIRROR_Y ); switch( orientation ) { default: - case CMP_ORIENT_0: m_orientationCtrl->SetSelection( 0 ); break; - case CMP_ORIENT_90: m_orientationCtrl->SetSelection( 1 ); break; - case CMP_ORIENT_270: m_orientationCtrl->SetSelection( 2 ); break; - case CMP_ORIENT_180: m_orientationCtrl->SetSelection( 3 ); break; + case SYM_ORIENT_0: m_orientationCtrl->SetSelection( 0 ); break; + case SYM_ORIENT_90: m_orientationCtrl->SetSelection( 1 ); break; + case SYM_ORIENT_270: m_orientationCtrl->SetSelection( 2 ); break; + case SYM_ORIENT_180: m_orientationCtrl->SetSelection( 3 ); break; } - int mirror = m_comp->GetOrientation() & ( CMP_MIRROR_X | CMP_MIRROR_Y ); + int mirror = m_symbol->GetOrientation() & ( SYM_MIRROR_X | SYM_MIRROR_Y ); switch( mirror ) { default: m_mirrorCtrl->SetSelection( 0 ) ; break; - case CMP_MIRROR_X: m_mirrorCtrl->SetSelection( 1 ); break; - case CMP_MIRROR_Y: m_mirrorCtrl->SetSelection( 2 ); break; + case SYM_MIRROR_X: m_mirrorCtrl->SetSelection( 1 ); break; + case SYM_MIRROR_Y: m_mirrorCtrl->SetSelection( 2 ); break; } - m_cbExcludeFromBom->SetValue( !m_comp->GetIncludeInBom() ); - m_cbExcludeFromBoard->SetValue( !m_comp->GetIncludeOnBoard() ); + m_cbExcludeFromBom->SetValue( !m_symbol->GetIncludeInBom() ); + m_cbExcludeFromBoard->SetValue( !m_symbol->GetIncludeOnBoard() ); if( m_part ) { @@ -496,8 +496,8 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow() m_ShowPinNameButt->SetValue( m_part->ShowPinNames() ); } - // Set the component's library name. - m_tcLibraryID->SetLabelText( m_comp->GetLibId().Format() ); + // Set the symbol's library name. + m_tcLibraryID->SetLabelText( m_symbol->GetLibId().Format() ); Layout(); @@ -518,7 +518,7 @@ void DIALOG_SYMBOL_PROPERTIES::OnEditSpiceModel( wxCommandEvent& event ) #ifdef KICAD_SPICE int diff = m_fields->size(); - DIALOG_SPICE_MODEL dialog( this, *m_comp, m_fields ); + DIALOG_SPICE_MODEL dialog( this, *m_symbol, m_fields ); if( dialog.ShowModal() != wxID_OK ) return; @@ -557,7 +557,7 @@ bool DIALOG_SYMBOL_PROPERTIES::Validate() if( !m_fieldsGrid->CommitPendingChanges() || !m_fieldsGrid->Validate() ) return false; - if( !SCH_COMPONENT::IsReferenceStringValid( m_fields->at( REFERENCE_FIELD ).GetText() ) ) + if( !SCH_SYMBOL::IsReferenceStringValid( m_fields->at( REFERENCE_FIELD ).GetText() ) ) { DisplayErrorMessage( this, _( "References must start with a letter." ) ); @@ -608,41 +608,41 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow() // This needs to be done before the LIB_ID is changed to prevent stale library symbols in // the schematic file. - currentScreen->Remove( m_comp ); + currentScreen->Remove( m_symbol ); wxString msg; // save old cmp in undo list if not already in edit, or moving ... - if( m_comp->GetEditFlags() == 0 ) - GetParent()->SaveCopyInUndoList( currentScreen, m_comp, UNDO_REDO::CHANGED, false ); + if( m_symbol->GetEditFlags() == 0 ) + GetParent()->SaveCopyInUndoList( currentScreen, m_symbol, UNDO_REDO::CHANGED, false ); // Save current flags which could be modified by next change settings - EDA_ITEM_FLAGS flags = m_comp->GetFlags(); + EDA_ITEM_FLAGS flags = m_symbol->GetFlags(); // For symbols with multiple shapes (De Morgan representation) Set the selected shape: if( m_cbAlternateSymbol->IsEnabled() && m_cbAlternateSymbol->GetValue() ) - m_comp->SetConvert( LIB_ITEM::LIB_CONVERT::DEMORGAN ); + m_symbol->SetConvert( LIB_ITEM::LIB_CONVERT::DEMORGAN ); else - m_comp->SetConvert( LIB_ITEM::LIB_CONVERT::BASE ); + m_symbol->SetConvert( LIB_ITEM::LIB_CONVERT::BASE ); //Set the part selection in multiple part per package int unit_selection = m_unitChoice->IsEnabled() ? m_unitChoice->GetSelection() + 1 : 1; - m_comp->SetUnitSelection( &GetParent()->GetCurrentSheet(), unit_selection ); - m_comp->SetUnit( unit_selection ); + m_symbol->SetUnitSelection( &GetParent()->GetCurrentSheet(), unit_selection ); + m_symbol->SetUnit( unit_selection ); switch( m_orientationCtrl->GetSelection() ) { - case 0: m_comp->SetOrientation( CMP_ORIENT_0 ); break; - case 1: m_comp->SetOrientation( CMP_ORIENT_90 ); break; - case 2: m_comp->SetOrientation( CMP_ORIENT_270 ); break; - case 3: m_comp->SetOrientation( CMP_ORIENT_180 ); break; + case 0: m_symbol->SetOrientation( SYM_ORIENT_0 ); break; + case 1: m_symbol->SetOrientation( SYM_ORIENT_90 ); break; + case 2: m_symbol->SetOrientation( SYM_ORIENT_270 ); break; + case 3: m_symbol->SetOrientation( SYM_ORIENT_180 ); break; } switch( m_mirrorCtrl->GetSelection() ) { case 0: break; - case 1: m_comp->SetOrientation( CMP_MIRROR_X ); break; - case 2: m_comp->SetOrientation( CMP_MIRROR_Y ); break; + case 1: m_symbol->SetOrientation( SYM_MIRROR_X ); break; + case 2: m_symbol->SetOrientation( SYM_MIRROR_Y ); break; } if( m_part ) @@ -652,21 +652,21 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow() } // Restore m_Flag modified by SetUnit() and other change settings - m_comp->ClearFlags(); - m_comp->SetFlags( flags ); + m_symbol->ClearFlags(); + m_symbol->SetFlags( flags ); // change all field positions from relative to absolute for( unsigned i = 0; i < m_fields->size(); ++i ) - m_fields->at( i ).Offset( m_comp->GetPosition() ); + m_fields->at( i ).Offset( m_symbol->GetPosition() ); - LIB_PART* entry = GetParent()->GetLibPart( m_comp->GetLibId() ); + LIB_PART* entry = GetParent()->GetLibPart( m_symbol->GetLibId() ); if( entry && entry->IsPower() ) - m_fields->at( VALUE_FIELD ).SetText( m_comp->GetLibId().GetLibItemName() ); + m_fields->at( VALUE_FIELD ).SetText( m_symbol->GetLibId().GetLibItemName() ); - // Push all fields to the component -except- for those which are TEMPLATE_FIELDNAMES + // Push all fields to the symbol -except- for those which are TEMPLATE_FIELDNAMES // with empty values. - SCH_FIELDS& fields = m_comp->GetFields(); + SCH_FIELDS& fields = m_symbol->GetFields(); fields.clear(); @@ -693,35 +693,35 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow() } // Reference has a specific initialization, depending on the current active sheet - // because for a given component, in a complex hierarchy, there are more than one + // because for a given symbol, in a complex hierarchy, there are more than one // reference. - m_comp->SetRef( &GetParent()->GetCurrentSheet(), m_fields->at( REFERENCE_FIELD ).GetText() ); + m_symbol->SetRef( &GetParent()->GetCurrentSheet(), m_fields->at( REFERENCE_FIELD ).GetText() ); // Similar for Value and Footprint, except that the GUI behaviour is that they are kept // in sync between multiple instances. - m_comp->SetValue( m_fields->at( VALUE_FIELD ).GetText() ); - m_comp->SetFootprint( m_fields->at( FOOTPRINT_FIELD ).GetText() ); + m_symbol->SetValue( m_fields->at( VALUE_FIELD ).GetText() ); + m_symbol->SetFootprint( m_fields->at( FOOTPRINT_FIELD ).GetText() ); - m_comp->SetIncludeInBom( !m_cbExcludeFromBom->IsChecked() ); - m_comp->SetIncludeOnBoard( !m_cbExcludeFromBoard->IsChecked() ); + m_symbol->SetIncludeInBom( !m_cbExcludeFromBom->IsChecked() ); + m_symbol->SetIncludeOnBoard( !m_cbExcludeFromBoard->IsChecked() ); // The value, footprint and datasheet fields and exclude from bill of materials setting // should be kept in sync in multi-unit parts. - if( m_comp->GetUnitCount() > 1 && m_comp->IsAnnotated( &GetParent()->GetCurrentSheet() ) ) + if( m_symbol->GetUnitCount() > 1 && m_symbol->IsAnnotated( &GetParent()->GetCurrentSheet() ) ) { - wxString ref = m_comp->GetRef( &GetParent()->GetCurrentSheet() ); - int unit = m_comp->GetUnit(); - LIB_ID libId = m_comp->GetLibId(); + wxString ref = m_symbol->GetRef( &GetParent()->GetCurrentSheet() ); + int unit = m_symbol->GetUnit(); + LIB_ID libId = m_symbol->GetLibId(); for( SCH_SHEET_PATH& sheet : GetParent()->Schematic().GetSheets() ) { - SCH_SCREEN* screen = sheet.LastScreen(); - std::vector otherUnits; - constexpr bool appendUndo = true; + SCH_SCREEN* screen = sheet.LastScreen(); + std::vector otherUnits; + constexpr bool appendUndo = true; CollectOtherUnits( ref, unit, libId, sheet, &otherUnits ); - for( SCH_COMPONENT* otherUnit : otherUnits ) + for( SCH_SYMBOL* otherUnit : otherUnits ) { GetParent()->SaveCopyInUndoList( screen, otherUnit, UNDO_REDO::CHANGED, appendUndo ); @@ -740,15 +740,15 @@ bool DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow() { for( const SCH_PIN& model_pin : *m_dataModel ) { - // map from the edited copy back to the "real" pin in the component - SCH_PIN* src_pin = m_comp->GetPin( model_pin.GetLibPin() ); + // map from the edited copy back to the "real" pin in the symbol. + SCH_PIN* src_pin = m_symbol->GetPin( model_pin.GetLibPin() ); src_pin->SetAlt( model_pin.GetAlt() ); } } - currentScreen->Append( m_comp ); + currentScreen->Append( m_symbol ); GetParent()->TestDanglingEnds(); - GetParent()->UpdateItem( m_comp ); + GetParent()->UpdateItem( m_symbol ); GetParent()->OnModify(); // This must go after OnModify() so that the connectivity graph will have been updated. @@ -807,9 +807,9 @@ void DIALOG_SYMBOL_PROPERTIES::OnAddField( wxCommandEvent& event ) if( !m_fieldsGrid->CommitPendingChanges() ) return; - SCHEMATIC_SETTINGS& settings = m_comp->Schematic()->Settings(); + SCHEMATIC_SETTINGS& settings = m_symbol->Schematic()->Settings(); int fieldID = m_fields->size(); - SCH_FIELD newField( wxPoint( 0, 0 ), fieldID, m_comp, + SCH_FIELD newField( wxPoint( 0, 0 ), fieldID, m_symbol, TEMPLATE_FIELDNAME::GetDefaultFieldName( fieldID ) ); newField.SetTextAngle( m_fields->at( REFERENCE_FIELD ).GetTextAngle() ); diff --git a/eeschema/dialogs/dialog_symbol_properties.h b/eeschema/dialogs/dialog_symbol_properties.h index 1dda2e3345..3e0dc74ffc 100644 --- a/eeschema/dialogs/dialog_symbol_properties.h +++ b/eeschema/dialogs/dialog_symbol_properties.h @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 1992-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -47,7 +47,7 @@ enum SYMBOL_PROPS_RETVALUE /** - * Dialog used to edit #SCH_COMPONENT objects in a schematic. + * Dialog used to edit #SCH_SYMBOL objects in a schematic. * * This is derived from DIALOG_SYMBOL_PROPERTIES_BASE which is maintained by * wxFormBuilder. @@ -55,7 +55,7 @@ enum SYMBOL_PROPS_RETVALUE class DIALOG_SYMBOL_PROPERTIES : public DIALOG_SYMBOL_PROPERTIES_BASE { public: - DIALOG_SYMBOL_PROPERTIES( SCH_EDIT_FRAME* aParent, SCH_COMPONENT* aComponent ); + DIALOG_SYMBOL_PROPERTIES( SCH_EDIT_FRAME* aParent, SCH_SYMBOL* aSymbol ); ~DIALOG_SYMBOL_PROPERTIES() override; SCH_EDIT_FRAME* GetParent(); @@ -89,7 +89,7 @@ private: void AdjustGridColumns( int aWidth ); private: - SCH_COMPONENT* m_comp; + SCH_SYMBOL* m_symbol; LIB_PART* m_part; int m_width; diff --git a/eeschema/dialogs/dialog_symbol_remap.cpp b/eeschema/dialogs/dialog_symbol_remap.cpp index 605f4aebae..fbd54fc1c3 100644 --- a/eeschema/dialogs/dialog_symbol_remap.cpp +++ b/eeschema/dialogs/dialog_symbol_remap.cpp @@ -238,7 +238,8 @@ void DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable( REPORTER& aReporter ) aReporter.ReportTail( msg, RPT_SEVERITY_ERROR ); } - aReporter.ReportTail( _( "Created project symbol library table.\n" ), RPT_SEVERITY_INFO ); + aReporter.ReportTail( _( "Created project symbol library table.\n" ), + RPT_SEVERITY_INFO ); } } } @@ -248,14 +249,14 @@ void DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable( REPORTER& aReporter ) { wxString msg; SCH_SCREENS schematic( m_frame->Schematic().Root() ); - SCH_COMPONENT* symbol; + SCH_SYMBOL* symbol; SCH_SCREEN* screen; for( screen = schematic.GetFirst(); screen; screen = schematic.GetNext() ) { - for( auto item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - symbol = dynamic_cast( item ); + symbol = dynamic_cast( item ); if( !remapSymbolToLibTable( symbol ) ) { @@ -279,7 +280,7 @@ void DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable( REPORTER& aReporter ) } -bool DIALOG_SYMBOL_REMAP::remapSymbolToLibTable( SCH_COMPONENT* aSymbol ) +bool DIALOG_SYMBOL_REMAP::remapSymbolToLibTable( SCH_SYMBOL* aSymbol ) { wxCHECK_MSG( aSymbol != NULL, false, "Null pointer passed to remapSymbolToLibTable." ); wxCHECK_MSG( aSymbol->GetLibId().GetLibNickname().empty(), false, diff --git a/eeschema/dialogs/dialog_symbol_remap.h b/eeschema/dialogs/dialog_symbol_remap.h index 6f33345b41..828152e6a6 100644 --- a/eeschema/dialogs/dialog_symbol_remap.h +++ b/eeschema/dialogs/dialog_symbol_remap.h @@ -6,7 +6,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2017 Wayne Stambaugh - * Copyright (C) 2017 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2017-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -30,7 +30,7 @@ class PART_LIB; -class SCH_COMPONENT; +class SCH_SYMBOL; class REPORTER; @@ -65,7 +65,7 @@ private: void remapSymbolsToLibTable( REPORTER& aReporter ); - bool remapSymbolToLibTable( SCH_COMPONENT* aSymbol ); + bool remapSymbolToLibTable( SCH_SYMBOL* aSymbol ); /** * Backup all of the files that could be modified by the remapping with a time stamp diff --git a/eeschema/ee_collectors.cpp b/eeschema/ee_collectors.cpp index 3f7ad4111f..3a5650b997 100644 --- a/eeschema/ee_collectors.cpp +++ b/eeschema/ee_collectors.cpp @@ -48,7 +48,7 @@ const KICAD_T EE_COLLECTOR::EditableItems[] = { SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_FIELD_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_BITMAP_T, @@ -60,7 +60,7 @@ const KICAD_T EE_COLLECTOR::EditableItems[] = { const KICAD_T EE_COLLECTOR::ComponentsOnly[] = { - SCH_COMPONENT_T, + SCH_SYMBOL_T, EOT }; @@ -85,7 +85,7 @@ const KICAD_T EE_COLLECTOR::MovableItems[] = SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_FIELD_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_PIN_T, SCH_SHEET_T, EOT @@ -99,7 +99,7 @@ const KICAD_T EE_COLLECTOR::WiresOnly[] = { const KICAD_T EE_COLLECTOR::FieldOwners[] = { - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT @@ -156,7 +156,7 @@ void EE_COLLECTOR::Collect( SCH_SCREEN* aScreen, const KICAD_T aFilterList[], co { for( SCH_ITEM* item : aScreen->Items().OfType( *filter ) ) { - if( *filter == SCH_COMPONENT_T || *filter == SCH_LOCATE_ANY_T ) + if( *filter == SCH_SYMBOL_T || *filter == SCH_LOCATE_ANY_T ) symbolsVisited = true; if( *filter == SCH_SHEET_T || *filter == SCH_LOCATE_ANY_T ) @@ -171,7 +171,7 @@ void EE_COLLECTOR::Collect( SCH_SCREEN* aScreen, const KICAD_T aFilterList[], co if( !symbolsVisited ) { - for( SCH_ITEM* item : aScreen->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : aScreen->Items().OfType( SCH_SYMBOL_T ) ) item->Visit( m_inspector, nullptr, m_scanTypes ); } @@ -232,7 +232,7 @@ bool EE_COLLECTOR::IsCorner() const void CollectOtherUnits( const wxString& aRef, int aUnit, const LIB_ID& aLibId, - SCH_SHEET_PATH& aSheet, std::vector* otherUnits ) + SCH_SHEET_PATH& aSheet, std::vector* otherUnits ) { SCH_REFERENCE_LIST symbols; aSheet.GetSymbols( symbols ); diff --git a/eeschema/ee_collectors.h b/eeschema/ee_collectors.h index d5c55c4a2f..28b99f303a 100644 --- a/eeschema/ee_collectors.h +++ b/eeschema/ee_collectors.h @@ -33,7 +33,7 @@ class SCH_SHEET_PATH; -class SCH_COMPONENT; +class SCH_SYMBOL; /** @@ -115,6 +115,6 @@ public: void CollectOtherUnits( const wxString& thisRef, int thisUnit, const LIB_ID& aLibId, - SCH_SHEET_PATH& aSheet, std::vector* otherUnits ); + SCH_SHEET_PATH& aSheet, std::vector* otherUnits ); #endif // EE_COLLECTORS_H diff --git a/eeschema/eeschema_id.h b/eeschema/eeschema_id.h index 5e4b776acf..a319565ef0 100644 --- a/eeschema/eeschema_id.h +++ b/eeschema/eeschema_id.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2008 Wayne Stambaugh - * Copyright (C) 2008-2019 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2008-2021 KiCad Developers, see change_log.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -65,7 +65,7 @@ enum id_eeschema_frm ID_LIBVIEW_PREVIOUS, ID_LIBVIEW_SELECT_PART_NUMBER, ID_LIBVIEW_LIB_LIST, - ID_LIBVIEW_CMP_LIST, + ID_LIBVIEW_SYM_LIST, ID_SIM_RUN, ID_SIM_TUNE, @@ -87,7 +87,7 @@ enum id_eeschema_frm ID_POPUP_SCH_SELECT_UNIT1, // ... leave room for MAX_UNIT_COUNT_PER_PACKAGE IDs , // to select one unit among MAX_UNIT_COUNT_PER_PACKAGE in popup menu - ID_POPUP_SCH_SELECT_UNIT_CMP_MAX = ID_POPUP_SCH_SELECT_UNIT1 + MAX_UNIT_COUNT_PER_PACKAGE + ID_POPUP_SCH_SELECT_UNIT_SYM_MAX = ID_POPUP_SCH_SELECT_UNIT1 + MAX_UNIT_COUNT_PER_PACKAGE }; diff --git a/eeschema/erc.cpp b/eeschema/erc.cpp index 07d201c2bc..90be30e40b 100644 --- a/eeschema/erc.cpp +++ b/eeschema/erc.cpp @@ -193,9 +193,9 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) for( SCH_ITEM* item : screen->Items().OfType( SCH_LOCATE_ANY_T ) ) { - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); for( SCH_FIELD& field : symbol->GetFields() ) { @@ -205,7 +205,8 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) pos = symbol->GetTransform().TransformCoordinate( pos ); pos += symbol->GetPosition(); - std::shared_ptr ercItem = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); + std::shared_ptr ercItem = + ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); ercItem->SetItems( &field ); SCH_MARKER* marker = new SCH_MARKER( ercItem, pos ); @@ -221,7 +222,8 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) { if( unresolved( field.GetShownText() ) ) { - std::shared_ptr ercItem = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); + std::shared_ptr ercItem = + ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); ercItem->SetItems( &field ); SCH_MARKER* marker = new SCH_MARKER( ercItem, field.GetPosition() ); @@ -233,7 +235,8 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) { if( pin->GetShownText().Matches( wxT( "*${*}*" ) ) ) { - std::shared_ptr ercItem = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); + std::shared_ptr ercItem = + ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); ercItem->SetItems( pin ); SCH_MARKER* marker = new SCH_MARKER( ercItem, pin->GetPosition() ); @@ -245,7 +248,8 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) { if( text->GetShownText().Matches( wxT( "*${*}*" ) ) ) { - std::shared_ptr ercItem = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); + std::shared_ptr ercItem = + ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); ercItem->SetItems( text ); SCH_MARKER* marker = new SCH_MARKER( ercItem, text->GetPosition() ); @@ -260,7 +264,8 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet ) { if( text->GetShownText().Matches( wxT( "*${*}*" ) ) ) { - std::shared_ptr ercItem = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); + std::shared_ptr ercItem = + ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); ercItem->SetErrorMessage( _( "Unresolved text variable in drawing sheet." ) ); SCH_MARKER* marker = new SCH_MARKER( ercItem, text->GetPosition() ); @@ -335,9 +340,9 @@ int ERC_TESTER::TestMultiunitFootprints() } // Reference footprint - SCH_COMPONENT* unit = nullptr; - wxString unitName; - wxString unitFP; + SCH_SYMBOL* unit = nullptr; + wxString unitName; + wxString unitFP; for( unsigned i = 0; i < refList.GetCount(); ++i ) { @@ -355,7 +360,7 @@ int ERC_TESTER::TestMultiunitFootprints() for( unsigned i = 0; i < refList.GetCount(); ++i ) { SCH_REFERENCE& secondRef = refList.GetItem( i ); - SCH_COMPONENT* secondUnit = secondRef.GetSymbol(); + SCH_SYMBOL* secondUnit = secondRef.GetSymbol(); wxString secondName = secondUnit->GetRef( &secondRef.GetSheetPath(), true ); const wxString secondFp = secondRef.GetFootprint(); wxString msg; @@ -389,9 +394,9 @@ int ERC_TESTER::TestNoConnectPins() { std::map> pinMap; - for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); for( SCH_PIN* pin : symbol->GetPins( &sheet ) ) { @@ -679,9 +684,9 @@ int ERC_TESTER::TestLibSymbolIssues() { std::vector markers; - for( SCH_ITEM* item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = dynamic_cast( item ); + SCH_SYMBOL* symbol = dynamic_cast( item ); wxCHECK2( symbol, continue ); diff --git a/eeschema/fields_grid_table.cpp b/eeschema/fields_grid_table.cpp index 7b6ce0d194..082d98cb29 100644 --- a/eeschema/fields_grid_table.cpp +++ b/eeschema/fields_grid_table.cpp @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2018-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2018-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -51,7 +51,7 @@ FIELDS_GRID_TABLE::FIELDS_GRID_TABLE( DIALOG_SHIM* aDialog, SCH_BASE_FRAME* a m_frame( aFrame ), m_userUnits( aDialog->GetUserUnits() ), m_grid( aGrid ), - m_parentType( SCH_COMPONENT_T ), + m_parentType( SCH_SYMBOL_T ), m_mandatoryFieldCount( MANDATORY_FIELDS ), m_part( aPart ), m_fieldNameValidator( aFrame->IsType( FRAME_SCH_SYMBOL_EDITOR ), FIELD_NAME ), @@ -264,12 +264,12 @@ wxGridCellAttr* FIELDS_GRID_TABLE::GetAttr( int aRow, int aCol, wxGridCellAtt } case FDC_VALUE: - if( m_parentType == SCH_COMPONENT_T && aRow == REFERENCE_FIELD ) + if( m_parentType == SCH_SYMBOL_T && aRow == REFERENCE_FIELD ) { m_referenceAttr->IncRef(); return m_referenceAttr; } - else if( m_parentType == SCH_COMPONENT_T && aRow == VALUE_FIELD ) + else if( m_parentType == SCH_SYMBOL_T && aRow == VALUE_FIELD ) { // For power symbols, the value is not editable, because value and pin name must // be the same and can be edited only in library editor. @@ -286,12 +286,12 @@ wxGridCellAttr* FIELDS_GRID_TABLE::GetAttr( int aRow, int aCol, wxGridCellAtt return m_valueAttr; } } - else if( m_parentType == SCH_COMPONENT_T && aRow == FOOTPRINT_FIELD ) + else if( m_parentType == SCH_SYMBOL_T && aRow == FOOTPRINT_FIELD ) { m_footprintAttr->IncRef(); return m_footprintAttr; } - else if( m_parentType == SCH_COMPONENT_T && aRow == DATASHEET_FIELD ) + else if( m_parentType == SCH_SYMBOL_T && aRow == DATASHEET_FIELD ) { m_urlAttr->IncRef(); return m_urlAttr; @@ -372,7 +372,7 @@ wxString FIELDS_GRID_TABLE::GetValue( int aRow, int aCol ) // according to the current locale if( aRow < m_mandatoryFieldCount ) { - if( m_parentType == SCH_COMPONENT_T ) + if( m_parentType == SCH_SYMBOL_T ) return TEMPLATE_FIELDNAME::GetDefaultFieldName( aRow ); else if( m_parentType == SCH_SHEET_T ) return SCH_SHEET::GetDefaultFieldName( aRow ); diff --git a/eeschema/getpart.cpp b/eeschema/getpart.cpp index 33e9121db2..6ff44213c7 100644 --- a/eeschema/getpart.cpp +++ b/eeschema/getpart.cpp @@ -117,7 +117,7 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SCHLIB_FILTER* aFilte adapter->AssignIntrinsicRanks(); if( aFilter->GetFilterPowerParts() ) - adapter->SetFilter( SYMBOL_TREE_MODEL_ADAPTER::CMP_FILTER_POWER ); + adapter->SetFilter( SYMBOL_TREE_MODEL_ADAPTER::SYM_FILTER_POWER ); } std::vector< LIB_TREE_ITEM* > history_list; @@ -147,7 +147,7 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SCHLIB_FILTER* aFilte wxString dialogTitle; - if( adapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::CMP_FILTER_POWER ) + if( adapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::SYM_FILTER_POWER ) dialogTitle.Printf( _( "Choose Power Symbol (%d items loaded)" ), adapter->GetItemCount() ); else dialogTitle.Printf( _( "Choose Symbol (%d items loaded)" ), adapter->GetItemCount() ); @@ -194,7 +194,7 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SCHLIB_FILTER* aFilte } -void SCH_EDIT_FRAME::SelectUnit( SCH_COMPONENT* aSymbol, int aUnit ) +void SCH_EDIT_FRAME::SelectUnit( SCH_SYMBOL* aSymbol, int aUnit ) { LIB_PART* part = GetLibPart( aSymbol->GetLibId() ); @@ -233,7 +233,7 @@ void SCH_EDIT_FRAME::SelectUnit( SCH_COMPONENT* aSymbol, int aUnit ) } -void SCH_EDIT_FRAME::ConvertPart( SCH_COMPONENT* aSymbol ) +void SCH_EDIT_FRAME::ConvertPart( SCH_SYMBOL* aSymbol ) { if( !aSymbol || !aSymbol->GetPartRef() ) return; diff --git a/eeschema/invoke_sch_dialog.h b/eeschema/invoke_sch_dialog.h index cabc738810..b7d99da731 100644 --- a/eeschema/invoke_sch_dialog.h +++ b/eeschema/invoke_sch_dialog.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck - * Copyright (C) 2013-2019 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2013-2021 KiCad Developers, see change_log.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -48,7 +48,7 @@ class wxFrame; class wxDialog; class LIB_PART; class PART_LIBS; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_TEXT; class SCH_SHEET_PATH; class RESCUER; diff --git a/eeschema/lib_pin.h b/eeschema/lib_pin.h index 917a6ea7d1..63af9791b8 100644 --- a/eeschema/lib_pin.h +++ b/eeschema/lib_pin.h @@ -27,8 +27,6 @@ #ifndef CLASS_PIN_H #define CLASS_PIN_H -class SCH_COMPONENT; - #include #include #include diff --git a/eeschema/libarch.cpp b/eeschema/libarch.cpp index b1a13e5864..e238323b37 100644 --- a/eeschema/libarch.cpp +++ b/eeschema/libarch.cpp @@ -83,10 +83,10 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName ) for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() ) { - for( auto aItem : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto aItem : screen->Items().OfType( SCH_SYMBOL_T ) ) { - LIB_PART* part = nullptr; - SCH_COMPONENT* symbol = static_cast( aItem ); + LIB_PART* part = nullptr; + SCH_SYMBOL* symbol = static_cast( aItem ); try { diff --git a/eeschema/netlist_exporters/netlist_exporter_base.cpp b/eeschema/netlist_exporters/netlist_exporter_base.cpp index 75910517a9..8631084b8a 100644 --- a/eeschema/netlist_exporters/netlist_exporter_base.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_base.cpp @@ -70,15 +70,15 @@ wxString NETLIST_EXPORTER_BASE::MakeCommandLine( const wxString& aFormatString, } -SCH_COMPONENT* NETLIST_EXPORTER_BASE::findNextSymbol( EDA_ITEM* aItem, SCH_SHEET_PATH* aSheetPath ) +SCH_SYMBOL* NETLIST_EXPORTER_BASE::findNextSymbol( EDA_ITEM* aItem, SCH_SHEET_PATH* aSheetPath ) { wxString ref; - if( aItem->Type() != SCH_COMPONENT_T ) + if( aItem->Type() != SCH_SYMBOL_T ) return nullptr; // found next component - SCH_COMPONENT* symbol = (SCH_COMPONENT*) aItem; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) aItem; // Power symbols and other symbols which have the reference starting with "#" are not // included in netlist (pseudo or virtual symbols) @@ -118,7 +118,7 @@ static bool sortPinsByNum( PIN_INFO& aPin1, PIN_INFO& aPin2 ) } -void NETLIST_EXPORTER_BASE::CreatePinList( SCH_COMPONENT* aSymbol, +void NETLIST_EXPORTER_BASE::CreatePinList( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheetPath, bool aKeepUnconnectedPins ) { @@ -217,7 +217,7 @@ void NETLIST_EXPORTER_BASE::eraseDuplicatePins() } -void NETLIST_EXPORTER_BASE::findAllUnitsOfSymbol( SCH_COMPONENT* aSymbol, +void NETLIST_EXPORTER_BASE::findAllUnitsOfSymbol( SCH_SYMBOL* aSymbol, LIB_PART* aPart, SCH_SHEET_PATH* aSheetPath, bool aKeepUnconnectedPins ) { @@ -231,9 +231,9 @@ void NETLIST_EXPORTER_BASE::findAllUnitsOfSymbol( SCH_COMPONENT* aSymbol, { SCH_SHEET_PATH& sheet = sheetList[i]; - for( SCH_ITEM* item : sheetList[i].LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheetList[i].LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* comp2 = static_cast( item ); + SCH_SYMBOL* comp2 = static_cast( item ); ref2 = comp2->GetRef( &sheet ); diff --git a/eeschema/netlist_exporters/netlist_exporter_base.h b/eeschema/netlist_exporters/netlist_exporter_base.h index 6019d6ae25..e79799d70e 100644 --- a/eeschema/netlist_exporters/netlist_exporter_base.h +++ b/eeschema/netlist_exporters/netlist_exporter_base.h @@ -118,7 +118,8 @@ protected: * if aKeepUnconnectedPins = false, unconnected pins will be removed from list * but usually we need all pins in netlists. */ - void CreatePinList( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aSheetPath, bool aKeepUnconnectedPins ); + void CreatePinList( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheetPath, + bool aKeepUnconnectedPins ); /** * Check if the given symbol should be processed for netlisting. @@ -129,7 +130,7 @@ protected: * @param aSheetPath is the sheet to check the symbol for * @return the symbol if it should be processed, or nullptr */ - SCH_COMPONENT* findNextSymbol( EDA_ITEM* aItem, SCH_SHEET_PATH* aSheetPath ); + SCH_SYMBOL* findNextSymbol( EDA_ITEM* aItem, SCH_SHEET_PATH* aSheetPath ); /** * Erase duplicate pins from m_sortedSymbolPinList (i.e. set pointer in this list to NULL). @@ -152,7 +153,7 @@ protected: * if aKeepUnconnectedPins = false, unconnected pins will be removed from list * but usually we need all pins in netlists. */ - void findAllUnitsOfSymbol( SCH_COMPONENT* aSymbol, LIB_PART* aPart, + void findAllUnitsOfSymbol( SCH_SYMBOL* aSymbol, LIB_PART* aPart, SCH_SHEET_PATH* aSheetPath, bool aKeepUnconnectedPins ); public: diff --git a/eeschema/netlist_exporters/netlist_exporter_cadstar.cpp b/eeschema/netlist_exporters/netlist_exporter_cadstar.cpp index 8212ff9084..6023b07d2f 100644 --- a/eeschema/netlist_exporters/netlist_exporter_cadstar.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_cadstar.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 1992-2018 jp.charras at wanadoo.fr * Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -36,7 +36,8 @@ /* Generate CADSTAR net list. */ static wxString StartLine( wxT( "." ) ); -bool NETLIST_EXPORTER_CADSTAR::WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) +bool NETLIST_EXPORTER_CADSTAR::WriteNetlist( const wxString& aOutFileName, + unsigned aNetlistOptions ) { (void)aNetlistOptions; //unused int ret = 0; @@ -53,7 +54,7 @@ bool NETLIST_EXPORTER_CADSTAR::WriteNetlist( const wxString& aOutFileName, unsig wxString StartCmpDesc = StartLine + wxT( "ADD_COM" ); wxString msg; wxString footprint; - SCH_COMPONENT* symbol; + SCH_SYMBOL* symbol; wxString title = wxT( "Eeschema " ) + GetBuildVersion(); ret |= fprintf( f, "%sHEA\n", TO_UTF8( StartLine ) ); @@ -69,7 +70,7 @@ bool NETLIST_EXPORTER_CADSTAR::WriteNetlist( const wxString& aOutFileName, unsig for( unsigned i = 0; i < sheetList.size(); i++ ) { - for( SCH_ITEM* item : sheetList[i].LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheetList[i].LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { symbol = findNextSymbol( item, &sheetList[ i ] ); diff --git a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.cpp b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.cpp index eb03823fe1..c50cc68531 100644 --- a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.cpp @@ -70,9 +70,9 @@ bool NETLIST_EXPORTER_ORCADPCB2::WriteNetlist( const wxString& aOutFileName, SCH_SHEET_PATH sheet = sheetList[i]; // Process component attributes - for( auto item : sheet.LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : sheet.LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = findNextSymbol( item, &sheet ); + SCH_SYMBOL* symbol = findNextSymbol( item, &sheet ); if( !symbol ) continue; diff --git a/eeschema/netlist_exporters/netlist_exporter_pspice.cpp b/eeschema/netlist_exporters/netlist_exporter_pspice.cpp index 7f83279b66..a09d0bd4e4 100644 --- a/eeschema/netlist_exporters/netlist_exporter_pspice.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_pspice.cpp @@ -67,6 +67,7 @@ bool NETLIST_EXPORTER_PSPICE::WriteNetlist( const wxString& aOutFileName, unsign return Format( &outputFile, aNetlistOptions ); } + void NETLIST_EXPORTER_PSPICE::ReplaceForbiddenChars( wxString &aNetName ) { // some chars are not accepted in netnames in spice netlists, because they are separators @@ -104,7 +105,8 @@ bool NETLIST_EXPORTER_PSPICE::Format( OUTPUTFORMATTER* aFormatter, unsigned aCtl if( full_path.IsEmpty() ) { - DisplayError( NULL, wxString::Format( _( "Could not find library file %s." ), lib ) ); + DisplayError( nullptr, wxString::Format( _( "Could not find library file %s." ), + lib ) ); full_path = lib; } } @@ -126,12 +128,15 @@ bool NETLIST_EXPORTER_PSPICE::Format( OUTPUTFORMATTER* aFormatter, unsigned aCtl wxString device = GetSpiceDevice( item.m_refName ); aFormatter->Print( 0, "%s ", TO_UTF8( device ) ); - size_t pspiceNodes = item.m_pinSequence.empty() ? item.m_pins.size() : item.m_pinSequence.size(); + size_t pspiceNodes = + item.m_pinSequence.empty() ? item.m_pins.size() : item.m_pinSequence.size(); for( size_t ii = 0; ii < pspiceNodes; ii++ ) { - // Use the custom order if defined, otherwise use the standard pin order as defined in the compon + // Use the custom order if defined, otherwise use the standard pin order as defined + // in the symbol. size_t activePinIndex = item.m_pinSequence.empty() ? ii : item.m_pinSequence[ii]; + // Valid used Node Indexes are in the set // {0,1,2,...m_item.m_pin.size()-1} if( activePinIndex >= item.m_pins.size() ) @@ -176,7 +181,7 @@ bool NETLIST_EXPORTER_PSPICE::Format( OUTPUTFORMATTER* aFormatter, unsigned aCtl } -wxString NETLIST_EXPORTER_PSPICE::GetSpiceField( SPICE_FIELD aField, SCH_COMPONENT* aSymbol, +wxString NETLIST_EXPORTER_PSPICE::GetSpiceField( SPICE_FIELD aField, SCH_SYMBOL* aSymbol, unsigned aCtl ) { SCH_FIELD* field = aSymbol->FindField( GetSpiceFieldName( aField ) ); @@ -184,7 +189,7 @@ wxString NETLIST_EXPORTER_PSPICE::GetSpiceField( SPICE_FIELD aField, SCH_COMPONE } -wxString NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( SPICE_FIELD aField, SCH_COMPONENT* aSymbol, +wxString NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( SPICE_FIELD aField, SCH_SYMBOL* aSymbol, unsigned aCtl ) { switch( aField ) @@ -205,7 +210,8 @@ wxString NETLIST_EXPORTER_PSPICE::GetSpiceFieldDefVal( SPICE_FIELD aField, SCH_C { // Regular expression to match common formats used for passive parts description // (e.g. 100k, 2k3, 1 uF) - wxRegEx passiveVal( "^([0-9\\. ]+)([fFpPnNuUmMkKgGtT]|M(e|E)(g|G))?([fFhH]|ohm)?([-1-9 ]*)$" ); + wxRegEx passiveVal( + "^([0-9\\. ]+)([fFpPnNuUmMkKgGtT]|M(e|E)(g|G))?([fFhH]|ohm)?([-1-9 ]*)$" ); if( passiveVal.Matches( value ) ) { @@ -263,7 +269,7 @@ bool NETLIST_EXPORTER_PSPICE::ProcessNetlist( unsigned aCtl ) const wxString delimiters( "{:,; }" ); SCH_SHEET_LIST sheetList = m_schematic->GetSheets(); - // Set of reference names, to check for duplications + // Set of reference names, to check for duplication std::set refNames; m_netMap.clear(); @@ -281,9 +287,9 @@ bool NETLIST_EXPORTER_PSPICE::ProcessNetlist( unsigned aCtl ) SCH_SHEET_PATH sheet = sheetList[sheet_idx]; // Process component attributes to find Spice directives - for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = findNextSymbol( item, &sheet ); + SCH_SYMBOL* symbol = findNextSymbol( item, &sheet ); if( !symbol ) continue; @@ -303,8 +309,8 @@ bool NETLIST_EXPORTER_PSPICE::ProcessNetlist( unsigned aCtl ) // Duplicate references will result in simulation errors if( refNames.count( spiceItem.m_refName ) ) { - DisplayError( NULL, wxT( "Multiple symbols have the same reference designator.\n" - "Annotation must be corrected before simulating." ) ); + DisplayError( nullptr, _( "Multiple symbols have the same reference designator.\n" + "Annotation must be corrected before simulating." ) ); return false; } @@ -424,16 +430,15 @@ void NETLIST_EXPORTER_PSPICE::UpdateDirectives( unsigned aCtl ) m_title = line.AfterFirst( ' ' ); } - else if( line.StartsWith( '.' ) // one-line directives - || controlBlock // .control .. .endc block - || circuitBlock // .subckt .. .ends block - || couplingK.Matches( line ) // K## L## L## coupling constant + else if( line.StartsWith( '.' ) // one-line directives + || controlBlock // .control .. .endc block + || circuitBlock // .subckt .. .ends block + || couplingK.Matches( line ) // K## L## L## coupling constant || ( directiveStarted && line.StartsWith( '+' ) ) ) // multiline directives { m_directives.push_back( line ); } - // Handle .control .. .endc blocks if( lowercaseline.IsSameAs( ".control" ) && ( !controlBlock ) ) controlBlock = true; diff --git a/eeschema/netlist_exporters/netlist_exporter_pspice.h b/eeschema/netlist_exporters/netlist_exporter_pspice.h index 610db3db6e..a12b9c4680 100644 --- a/eeschema/netlist_exporters/netlist_exporter_pspice.h +++ b/eeschema/netlist_exporters/netlist_exporter_pspice.h @@ -72,7 +72,7 @@ enum SPICE_PRIMITIVE { struct SPICE_ITEM { ///< Schematic component represented by this SPICE_ITEM. - SCH_COMPONENT* m_parent; + SCH_SYMBOL* m_parent; ///< Spice primitive type (@see SPICE_PRIMITIVE). wxChar m_primitive; @@ -185,13 +185,12 @@ public: /** * Retrieve either the requested field value or the default value. */ - static wxString GetSpiceField( SPICE_FIELD aField, SCH_COMPONENT* aSymbol, unsigned aCtl ); + static wxString GetSpiceField( SPICE_FIELD aField, SCH_SYMBOL* aSymbol, unsigned aCtl ); /** * Retrieve the default value for a given field. */ - static wxString GetSpiceFieldDefVal( SPICE_FIELD aField, SCH_COMPONENT* aSymbol, - unsigned aCtl ); + static wxString GetSpiceFieldDefVal( SPICE_FIELD aField, SCH_SYMBOL* aSymbol, unsigned aCtl ); /** * Update the vector of Spice directives placed in the schematics. diff --git a/eeschema/netlist_exporters/netlist_exporter_xml.cpp b/eeschema/netlist_exporters/netlist_exporter_xml.cpp index 018883fdb3..be12d68be8 100644 --- a/eeschema/netlist_exporters/netlist_exporter_xml.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_xml.cpp @@ -69,7 +69,7 @@ XNODE* NETLIST_EXPORTER_XML::makeRoot( unsigned aCtl ) // add the "design" header xroot->AddChild( makeDesignHeader() ); - if( aCtl & GNL_COMPONENTS ) + if( aCtl & GNL_SYMBOLS ) xroot->AddChild( makeSymbols( aCtl ) ); if( aCtl & GNL_PARTS ) @@ -86,7 +86,7 @@ XNODE* NETLIST_EXPORTER_XML::makeRoot( unsigned aCtl ) } -/// Holder for multi-unit component fields +/// Holder for multi-unit symbol fields struct COMP_FIELDS { wxString value; @@ -97,14 +97,14 @@ struct COMP_FIELDS }; -void NETLIST_EXPORTER_XML::addSymbolFields( XNODE* aNode, SCH_COMPONENT* aSymbol, +void NETLIST_EXPORTER_XML::addSymbolFields( XNODE* aNode, SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheet ) { COMP_FIELDS fields; if( aSymbol->GetUnitCount() > 1 ) { - // Sadly, each unit of a component can have its own unique fields. This + // Sadly, each unit of a symbol can have its own unique fields. This // block finds the unit with the lowest number having a non blank field // value and records it. Therefore user is best off setting fields // into only the first unit. But this scavenger algorithm will find @@ -118,44 +118,44 @@ void NETLIST_EXPORTER_XML::addSymbolFields( XNODE* aNode, SCH_COMPONENT* aSymbol for( unsigned i = 0; i < sheetList.size(); i++ ) { - for( auto item : sheetList[i].LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : sheetList[i].LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* comp2 = (SCH_COMPONENT*) item; + SCH_SYMBOL* symbol2 = (SCH_SYMBOL*) item; - wxString ref2 = comp2->GetRef( &sheetList[i] ); + wxString ref2 = symbol2->GetRef( &sheetList[i] ); if( ref2.CmpNoCase( ref ) != 0 ) continue; - int unit = comp2->GetUnit(); + int unit = symbol2->GetUnit(); // The lowest unit number wins. User should only set fields in any one unit. // remark: IsVoid() returns true for empty strings or the "~" string (empty // field value) - if( !comp2->GetValue( &sheetList[i], m_resolveTextVars ).IsEmpty() + if( !symbol2->GetValue( &sheetList[i], m_resolveTextVars ).IsEmpty() && ( unit < minUnit || fields.value.IsEmpty() ) ) { - fields.value = comp2->GetValue( &sheetList[i], m_resolveTextVars ); + fields.value = symbol2->GetValue( &sheetList[i], m_resolveTextVars ); } - if( !comp2->GetFootprint( &sheetList[i], m_resolveTextVars ).IsEmpty() + if( !symbol2->GetFootprint( &sheetList[i], m_resolveTextVars ).IsEmpty() && ( unit < minUnit || fields.footprint.IsEmpty() ) ) { - fields.footprint = comp2->GetFootprint( &sheetList[i], m_resolveTextVars ); + fields.footprint = symbol2->GetFootprint( &sheetList[i], m_resolveTextVars ); } - if( !comp2->GetField( DATASHEET_FIELD )->IsVoid() + if( !symbol2->GetField( DATASHEET_FIELD )->IsVoid() && ( unit < minUnit || fields.datasheet.IsEmpty() ) ) { if( m_resolveTextVars ) - fields.datasheet = comp2->GetField( DATASHEET_FIELD )->GetShownText(); + fields.datasheet = symbol2->GetField( DATASHEET_FIELD )->GetShownText(); else - fields.datasheet = comp2->GetField( DATASHEET_FIELD )->GetText(); + fields.datasheet = symbol2->GetField( DATASHEET_FIELD )->GetText(); } - for( int ii = MANDATORY_FIELDS; ii < comp2->GetFieldCount(); ++ii ) + for( int ii = MANDATORY_FIELDS; ii < symbol2->GetFieldCount(); ++ii ) { - const SCH_FIELD& f = comp2->GetFields()[ ii ]; + const SCH_FIELD& f = symbol2->GetFields()[ ii ]; if( f.GetText().size() && ( unit < minUnit || fields.f.count( f.GetName() ) == 0 ) ) @@ -241,19 +241,19 @@ XNODE* NETLIST_EXPORTER_XML::makeSymbols( unsigned aCtl ) SCH_SHEET_PATH sheet = sheetList[ii]; m_schematic->SetCurrentSheet( sheet ); - auto cmp = [sheet]( SCH_COMPONENT* a, SCH_COMPONENT* b ) + auto cmp = [sheet]( SCH_SYMBOL* a, SCH_SYMBOL* b ) { return ( UTIL::RefDesStringCompare( a->GetRef( &sheet ), b->GetRef( &sheet ) ) < 0 ); }; - std::set ordered_symbols( cmp ); - std::multiset extra_units( cmp ); + std::set ordered_symbols( cmp ); + std::multiset extra_units( cmp ); - for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); - auto test = ordered_symbols.insert( symbol ); + SCH_SYMBOL* symbol = static_cast( item ); + auto test = ordered_symbols.insert( symbol ); if( !test.second ) { @@ -272,7 +272,7 @@ XNODE* NETLIST_EXPORTER_XML::makeSymbols( unsigned aCtl ) for( EDA_ITEM* item : ordered_symbols ) { - SCH_COMPONENT* symbol = findNextSymbol( item, &sheet ); + SCH_SYMBOL* symbol = findNextSymbol( item, &sheet ); if( !symbol || ( ( aCtl & GNL_OPT_BOM ) && !symbol->GetIncludeInBom() ) @@ -285,7 +285,7 @@ XNODE* NETLIST_EXPORTER_XML::makeSymbols( unsigned aCtl ) // not always look best, but it will allow faster execution under XSL processing // systems which do sequential searching within an element. - XNODE* xcomp; // current component being constructed + XNODE* xcomp; // current symbol being constructed xcomps->AddChild( xcomp = node( "comp" ) ); xcomp->AddAttribute( "ref", symbol->GetRef( &sheet ) ); @@ -298,7 +298,8 @@ XNODE* NETLIST_EXPORTER_XML::makeSymbols( unsigned aCtl ) // for parts based on "logical_lib.part" and where logical_lib is merely the library // name minus path and extension. if( symbol->GetPartRef() ) - xlibsource->AddAttribute( "lib", symbol->GetPartRef()->GetLibId().GetLibNickname() ); + xlibsource->AddAttribute( "lib", + symbol->GetPartRef()->GetLibId().GetLibNickname() ); // We only want the symbol name, not the full LIB_ID. xlibsource->AddAttribute( "part", symbol->GetLibId().GetLibItemName() ); @@ -351,8 +352,8 @@ XNODE* NETLIST_EXPORTER_XML::makeSymbols( unsigned aCtl ) { wxString uuid = ( *it )->m_Uuid.AsString(); - // Add a space between UUIDs, if not in KICAD mode (i.e. using wxXmlDocument::Save()). - // KICAD MODE has its own XNODE::Format function. + // Add a space between UUIDs, if not in KICAD mode (i.e. + // using wxXmlDocument::Save()). KICAD MODE has its own XNODE::Format function. if( !( aCtl & GNL_OPT_KICAD ) ) // i.e. for .xml format uuid += ' '; @@ -509,7 +510,7 @@ XNODE* NETLIST_EXPORTER_XML::makeLibParts() // The library nickname will be empty if the cache library is used. if( !libNickname.IsEmpty() ) - m_libraries.insert( libNickname ); // inserts component's library if unique + m_libraries.insert( libNickname ); // inserts symbol's library if unique XNODE* xlibpart; xlibparts->AddChild( xlibpart = node( "libpart" ) ); @@ -556,7 +557,7 @@ XNODE* NETLIST_EXPORTER_XML::makeLibParts() /* we must erase redundant Pins references in pinList * These redundant pins exist because some pins - * are found more than one time when a component has + * are found more than one time when a symbol has * multiple parts per package or has 2 representations (DeMorgan conversion) * For instance, a 74ls00 has DeMorgan conversion, with different pin shapes, * and therefore each pin appears 2 times in the list. @@ -657,8 +658,8 @@ XNODE* NETLIST_EXPORTER_XML::makeListOfNets( unsigned aCtl ) { if( item->Type() == SCH_PIN_T ) { - SCH_PIN* pin = static_cast( item ); - SCH_COMPONENT* symbol = pin->GetParentSymbol(); + SCH_PIN* pin = static_cast( item ); + SCH_SYMBOL* symbol = pin->GetParentSymbol(); if( !symbol || ( ( aCtl & GNL_OPT_BOM ) && !symbol->GetIncludeInBom() ) @@ -718,7 +719,7 @@ XNODE* NETLIST_EXPORTER_XML::makeListOfNets( unsigned aCtl ) wxString refText = netNode.m_Pin->GetParentSymbol()->GetRef( &netNode.m_Sheet ); wxString pinText = netNode.m_Pin->GetNumber(); - // Skip power symbols and virtual components + // Skip power symbols and virtual symbols if( refText[0] == wxChar( '#' ) ) continue; diff --git a/eeschema/netlist_exporters/netlist_exporter_xml.h b/eeschema/netlist_exporters/netlist_exporter_xml.h index fdece7b097..bb7be6d582 100644 --- a/eeschema/netlist_exporters/netlist_exporter_xml.h +++ b/eeschema/netlist_exporters/netlist_exporter_xml.h @@ -44,7 +44,7 @@ class XNODE; enum GNL_T { GNL_LIBRARIES = 1 << 0, - GNL_COMPONENTS = 1 << 1, + GNL_SYMBOLS = 1 << 1, GNL_PARTS = 1 << 2, GNL_HEADER = 1 << 3, GNL_NETS = 1 << 4, @@ -77,7 +77,7 @@ public: */ bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override; -#define GNL_ALL ( GNL_LIBRARIES | GNL_COMPONENTS | GNL_PARTS | GNL_HEADER | GNL_NETS ) +#define GNL_ALL ( GNL_LIBRARIES | GNL_SYMBOLS | GNL_PARTS | GNL_HEADER | GNL_NETS ) protected: /** @@ -100,7 +100,7 @@ protected: XNODE* makeRoot( unsigned aCtl = GNL_ALL ); /** - * @return a sub-tree holding all the schematic components. + * @return a sub-tree holding all the schematic symbols. */ XNODE* makeSymbols( unsigned aCtl ); @@ -129,7 +129,7 @@ protected: */ XNODE* makeLibraries(); - void addSymbolFields( XNODE* aNode, SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aSheet ); + void addSymbolFields( XNODE* aNode, SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheet ); bool m_resolveTextVars; // Export textVar references resolved diff --git a/eeschema/project_rescue.cpp b/eeschema/project_rescue.cpp index 207c051595..f274a05bce 100644 --- a/eeschema/project_rescue.cpp +++ b/eeschema/project_rescue.cpp @@ -41,11 +41,11 @@ #include -typedef std::pair COMPONENT_NAME_PAIR; +typedef std::pair SYMBOL_NAME_PAIR; -// Helper sort function, used in get_components, to sort a component list by lib_id -static bool sort_by_libid( const SCH_COMPONENT* ref, SCH_COMPONENT* cmp ) +// Helper sort function, used in getSymbols, to sort a symbol list by lib_id +static bool sort_by_libid( const SCH_SYMBOL* ref, SCH_SYMBOL* cmp ) { return ref->GetLibId() < cmp->GetLibId(); } @@ -54,39 +54,39 @@ static bool sort_by_libid( const SCH_COMPONENT* ref, SCH_COMPONENT* cmp ) /** * Fill a vector with all of the project's symbols, to ease iterating over them. * - * The list is sorted by #LIB_ID, therefore components using the same library + * The list is sorted by #LIB_ID, therefore symbols using the same library * symbol are grouped, allowing later faster calculations (one library search by group * of symbols) * - * @param aComponents - a vector that will take the symbols + * @param aSymbols is a vector that will take the symbols. */ -static void get_components( SCHEMATIC* aSchematic, std::vector& aComponents ) +static void getSymbols( SCHEMATIC* aSchematic, std::vector& aSymbols ) { SCH_SCREENS screens( aSchematic->Root() ); // Get the full list for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() ) { - for( auto aItem : screen->Items().OfType( SCH_COMPONENT_T ) ) - aComponents.push_back( static_cast( aItem ) ); + for( auto aItem : screen->Items().OfType( SCH_SYMBOL_T ) ) + aSymbols.push_back( static_cast( aItem ) ); } - if( aComponents.empty() ) + if( aSymbols.empty() ) return; - // sort aComponents by lib part. Components will be grouped by same lib part. - std::sort( aComponents.begin(), aComponents.end(), sort_by_libid ); + // sort aSymbols by lib part. symbols will be grouped by same lib part. + std::sort( aSymbols.begin(), aSymbols.end(), sort_by_libid ); } /** - * Search the libraries for the first component with a given name. + * Search the libraries for the first symbol with a given name. * * @param aName - name to search for * @param aLibs - the loaded PART_LIBS * @param aCached - whether we are looking for the cached part */ -static LIB_PART* find_component( const wxString& aName, PART_LIBS* aLibs, bool aCached ) +static LIB_PART* findSymbol( const wxString& aName, PART_LIBS* aLibs, bool aCached ) { LIB_PART *part = NULL; wxString new_name = LIB_ID::FixIllegalChars( aName ); @@ -137,7 +137,8 @@ void RESCUE_CASE_CANDIDATE::FindRescues( RESCUER& aRescuer, { typedef std::map candidate_map_t; candidate_map_t candidate_map; - // Remember the list of components is sorted by part name. + + // Remember the list of symbols is sorted by part name. // So a search in libraries is made only once by group LIB_PART* case_sensitive_match = nullptr; std::vector case_insensitive_matches; @@ -146,9 +147,9 @@ void RESCUE_CASE_CANDIDATE::FindRescues( RESCUER& aRescuer, wxString search_name; wxString last_part_name; - for( SCH_COMPONENT* each_component : *( aRescuer.GetComponents() ) ) + for( SCH_SYMBOL* eachSymbol : *( aRescuer.GetSymbols() ) ) { - part_name = each_component->GetLibId().GetLibItemName(); + part_name = eachSymbol->GetLibId().GetLibItemName(); search_name = LIB_ID::FixIllegalChars( part_name ); if( last_part_name != part_name ) @@ -173,8 +174,8 @@ void RESCUE_CASE_CANDIDATE::FindRescues( RESCUER& aRescuer, RESCUE_CASE_CANDIDATE candidate( part_name, case_insensitive_matches[0]->GetName(), case_insensitive_matches[0], - each_component->GetUnit(), - each_component->GetConvert() ); + eachSymbol->GetUnit(), + eachSymbol->GetConvert() ); candidate_map[part_name] = candidate; } @@ -197,17 +198,17 @@ wxString RESCUE_CASE_CANDIDATE::GetActionDescription() const bool RESCUE_CASE_CANDIDATE::PerformAction( RESCUER* aRescuer ) { - for( SCH_COMPONENT* each_component : *aRescuer->GetComponents() ) + for( SCH_SYMBOL* eachSymbol : *aRescuer->GetSymbols() ) { - if( each_component->GetLibId().GetLibItemName() != UTF8( m_requested_name ) ) + if( eachSymbol->GetLibId().GetLibItemName() != UTF8( m_requested_name ) ) continue; LIB_ID libId; libId.SetLibItemName( m_new_name, false ); - each_component->SetLibId( libId ); - each_component->ClearFlags(); - aRescuer->LogRescue( each_component, m_requested_name, m_new_name ); + eachSymbol->SetLibId( libId ); + eachSymbol->ClearFlags(); + aRescuer->LogRescue( eachSymbol, m_requested_name, m_new_name ); } return true; @@ -243,7 +244,7 @@ void RESCUE_CACHE_CANDIDATE::FindRescues( RESCUER& aRescuer, typedef std::map candidate_map_t; candidate_map_t candidate_map; - // Remember the list of components is sorted by part name. + // Remember the list of symbols is sorted by part name. // So a search in libraries is made only once by group LIB_PART* cache_match = nullptr; LIB_PART* lib_match = nullptr; @@ -251,9 +252,9 @@ void RESCUE_CACHE_CANDIDATE::FindRescues( RESCUER& aRescuer, wxString search_name; wxString old_part_name; - for( SCH_COMPONENT* each_component : *( aRescuer.GetComponents() ) ) + for( SCH_SYMBOL* eachSymbol : *( aRescuer.GetSymbols() ) ) { - part_name = each_component->GetLibId().GetLibItemName(); + part_name = eachSymbol->GetLibId().GetLibItemName(); search_name = LIB_ID::FixIllegalChars( part_name ); if( old_part_name != part_name ) @@ -261,8 +262,8 @@ void RESCUE_CACHE_CANDIDATE::FindRescues( RESCUER& aRescuer, // A new part name is found (a new group starts here). // Search the symbol names candidates only once for this group: old_part_name = part_name; - cache_match = find_component( search_name, aRescuer.GetPrj()->SchLibs(), true ); - lib_match = find_component( search_name, aRescuer.GetPrj()->SchLibs(), false ); + cache_match = findSymbol( search_name, aRescuer.GetPrj()->SchLibs(), true ); + lib_match = findSymbol( search_name, aRescuer.GetPrj()->SchLibs(), false ); if( !cache_match && !lib_match ) continue; @@ -278,8 +279,8 @@ void RESCUE_CACHE_CANDIDATE::FindRescues( RESCUER& aRescuer, // Check if the symbol has already been rescued. RESCUE_CACHE_CANDIDATE candidate( part_name, search_name, cache_match, lib_match, - each_component->GetUnit(), - each_component->GetConvert() ); + eachSymbol->GetUnit(), + eachSymbol->GetConvert() ); candidate_map[part_name] = candidate; } @@ -321,17 +322,17 @@ bool RESCUE_CACHE_CANDIDATE::PerformAction( RESCUER* aRescuer ) new_part->SetName( m_new_name ); aRescuer->AddPart( new_part.get() ); - for( SCH_COMPONENT* each_component : *aRescuer->GetComponents() ) + for( SCH_SYMBOL* eachSymbol : *aRescuer->GetSymbols() ) { - if( each_component->GetLibId().GetLibItemName() != UTF8( m_requested_name ) ) + if( eachSymbol->GetLibId().GetLibItemName() != UTF8( m_requested_name ) ) continue; LIB_ID libId; libId.SetLibItemName( m_new_name, false ); - each_component->SetLibId( libId ); - each_component->ClearFlags(); - aRescuer->LogRescue( each_component, m_requested_name, m_new_name ); + eachSymbol->SetLibId( libId ); + eachSymbol->ClearFlags(); + aRescuer->LogRescue( eachSymbol, m_requested_name, m_new_name ); } return true; @@ -371,15 +372,15 @@ void RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues( candidate_map_t candidate_map; - // Remember the list of components is sorted by LIB_ID. + // Remember the list of symbols is sorted by LIB_ID. // So a search in libraries is made only once by group LIB_PART* cache_match = nullptr; LIB_PART* lib_match = nullptr; LIB_ID old_part_id; - for( SCH_COMPONENT* each_component : *( aRescuer.GetComponents() ) ) + for( SCH_SYMBOL* eachSymbol : *( aRescuer.GetSymbols() ) ) { - const LIB_ID& part_id = each_component->GetLibId(); + const LIB_ID& part_id = eachSymbol->GetLibId(); if( old_part_id != part_id ) { @@ -389,8 +390,8 @@ void RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues( // Get the library symbol from the cache library. It will be a flattened // symbol by default (no inheritance). - cache_match = find_component( part_id.Format().wx_str(), aRescuer.GetPrj()->SchLibs(), - true ); + cache_match = findSymbol( part_id.Format().wx_str(), aRescuer.GetPrj()->SchLibs(), + true ); // Get the library symbol from the symbol library table. lib_match = SchGetLibPart( part_id, aRescuer.GetPrj()->SchSymbolLibTable() ); @@ -439,8 +440,8 @@ void RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues( LIB_ID new_id( libNickname, new_name + "-" + part_id.GetLibNickname().wx_str() ); RESCUE_SYMBOL_LIB_TABLE_CANDIDATE candidate( part_id, new_id, cache_match, lib_match, - each_component->GetUnit(), - each_component->GetConvert() ); + eachSymbol->GetUnit(), + eachSymbol->GetConvert() ); candidate_map[part_id] = candidate; } @@ -483,14 +484,14 @@ bool RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction( RESCUER* aRescuer ) new_part->SetName( m_new_id.GetLibItemName() ); aRescuer->AddPart( new_part.get() ); - for( SCH_COMPONENT* each_component : *aRescuer->GetComponents() ) + for( SCH_SYMBOL* eachSymbol : *aRescuer->GetSymbols() ) { - if( each_component->GetLibId() != m_requested_id ) + if( eachSymbol->GetLibId() != m_requested_id ) continue; - each_component->SetLibId( m_new_id ); - each_component->ClearFlags(); - aRescuer->LogRescue( each_component, m_requested_id.Format(), m_new_id.Format() ); + eachSymbol->SetLibId( m_new_id ); + eachSymbol->ClearFlags(); + aRescuer->LogRescue( eachSymbol, m_requested_id.Format(), m_new_id.Format() ); } return true; @@ -505,7 +506,7 @@ RESCUER::RESCUER( PROJECT& aProject, SCHEMATIC* aSchematic, SCH_SHEET_PATH* aCur wxASSERT( m_schematic ); if( m_schematic ) - get_components( m_schematic, m_components ); + getSymbols( m_schematic, m_symbols ); m_prj = &aProject; m_currentSheet = aCurrentSheet; @@ -513,11 +514,11 @@ RESCUER::RESCUER( PROJECT& aProject, SCHEMATIC* aSchematic, SCH_SHEET_PATH* aCur } -void RESCUER::LogRescue( SCH_COMPONENT *aComponent, const wxString &aOldName, +void RESCUER::LogRescue( SCH_SYMBOL* aSymbol, const wxString &aOldName, const wxString &aNewName ) { RESCUE_LOG logitem; - logitem.component = aComponent; + logitem.symbol = aSymbol; logitem.old_name = aOldName; logitem.new_name = aNewName; m_rescue_log.push_back( logitem ); @@ -543,8 +544,8 @@ void RESCUER::UndoRescues() LIB_ID libId; libId.SetLibItemName( each_logitem.old_name, false ); - each_logitem.component->SetLibId( libId ); - each_logitem.component->ClearFlags(); + each_logitem.symbol->SetLibId( libId ); + each_logitem.symbol->ClearFlags(); } } diff --git a/eeschema/project_rescue.h b/eeschema/project_rescue.h index 37afef86ac..72cdafd123 100644 --- a/eeschema/project_rescue.h +++ b/eeschema/project_rescue.h @@ -32,7 +32,7 @@ * * bool SCH_EDIT_FRAME::RescueProject( bool aSilentIfNone ); * - * When this is called, a list of problematic components is compiled. If + * When this is called, a list of problematic symbols is compiled. If * this list is empty, then the function displays a notification and returns * (if aSilentIfNone is true, the notification is silenced). */ @@ -48,7 +48,7 @@ class LIB_PART; -class SCH_COMPONENT; +class SCH_SYMBOL; class RESCUER; class SCH_EDIT_FRAME; class SCH_LEGACY_PLUGIN; @@ -226,9 +226,9 @@ private: class RESCUE_LOG { public: - SCH_COMPONENT* component; - wxString old_name; - wxString new_name; + SCH_SYMBOL* symbol; + wxString old_name; + wxString new_name; }; @@ -285,7 +285,7 @@ public: /** * Get the list of symbols that need rescued. */ - std::vector* GetComponents() { return &m_components; } + std::vector* GetSymbols() { return &m_symbols; } /** * Return the #SCH_PROJECT object for access to the symbol libraries. @@ -297,8 +297,7 @@ public: /** * Used by individual #RESCUE_CANDIDATE objects to log a rescue for undoing. */ - void LogRescue( SCH_COMPONENT *aComponent, const wxString& aOldName, - const wxString& aNewName ); + void LogRescue( SCH_SYMBOL *aSymbol, const wxString& aOldName, const wxString& aNewName ); /** * Perform all chosen rescue actions, logging them to be undone if necessary. @@ -317,7 +316,7 @@ public: protected: friend class DIALOG_RESCUE_EACH; - std::vector m_components; + std::vector m_symbols; PROJECT* m_prj; SCHEMATIC* m_schematic; EDA_DRAW_PANEL_GAL::GAL_TYPE m_galBackEndType; diff --git a/eeschema/sch_base_frame.cpp b/eeschema/sch_base_frame.cpp index be2a25d00d..de6eaaf82c 100644 --- a/eeschema/sch_base_frame.cpp +++ b/eeschema/sch_base_frame.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck - * Copyright (C) 2015-2020 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2015-2021 KiCad Developers, see change_log.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -314,7 +314,7 @@ void SCH_BASE_FRAME::UpdateItem( EDA_ITEM* aItem, bool isAddOrDelete ) GetCanvas()->GetView()->Update( aItem ); // Some children are drawn from their parents. Mark them for re-paint. - static KICAD_T parentTypes[] = { SCH_COMPONENT_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; + static KICAD_T parentTypes[] = { SCH_SYMBOL_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; if( parent && parent->IsType( parentTypes ) ) GetCanvas()->GetView()->Update( parent, KIGFX::REPAINT ); @@ -350,8 +350,8 @@ void SCH_BASE_FRAME::RefreshSelection() { view->Update( item, KIGFX::REPAINT ); - // Component children are drawn from their parents. Mark them for re-paint. - if( parent && parent->Type() == SCH_COMPONENT_T ) + // Symbol children are drawn from their parents. Mark them for re-paint. + if( parent && parent->Type() == SCH_SYMBOL_T ) GetCanvas()->GetView()->Update( parent, KIGFX::REPAINT ); } } diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index ae304862dd..217fa5dfc2 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1158,9 +1158,9 @@ void SCH_EDIT_FRAME::AddItemToScreenAndUndoList( SCH_SCREEN* aScreen, SCH_ITEM* { wxCHECK_RET( aItem != NULL, wxT( "Cannot add null item to list." ) ); - SCH_SHEET* parentSheet = nullptr; - SCH_COMPONENT* parentSymbol = nullptr; - SCH_ITEM* undoItem = aItem; + SCH_SHEET* parentSheet = nullptr; + SCH_SYMBOL* parentSymbol = nullptr; + SCH_ITEM* undoItem = aItem; if( aItem->Type() == SCH_SHEET_PIN_T ) { @@ -1174,9 +1174,9 @@ void SCH_EDIT_FRAME::AddItemToScreenAndUndoList( SCH_SCREEN* aScreen, SCH_ITEM* else if( aItem->Type() == SCH_FIELD_T ) { - parentSymbol = (SCH_COMPONENT*) aItem->GetParent(); + parentSymbol = (SCH_SYMBOL*) aItem->GetParent(); - wxCHECK_RET( parentSymbol && parentSymbol->Type() == SCH_COMPONENT_T, + wxCHECK_RET( parentSymbol && parentSymbol->Type() == SCH_SYMBOL_T, wxT( "Cannot place field in invalid schematic symbol." ) ); undoItem = parentSymbol; @@ -1483,10 +1483,10 @@ const BOX2I SCH_EDIT_FRAME::GetDocumentExtents( bool aIncludeAllVisible ) const { if( item != dsAsItem ) // Ignore the drawing-sheet itself { - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { // For symbols we need to get the bounding box without invisible text - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); bBoxItems.Merge( symbol->GetBoundingBox( false ) ); } else @@ -1630,7 +1630,7 @@ void SCH_EDIT_FRAME::SaveSymbolToSchematic( const LIB_PART& aSymbol ) // only works for a single symbol selection. for( EDA_ITEM* item : selection ) { - SCH_COMPONENT* symbol = dynamic_cast( item ); + SCH_SYMBOL* symbol = dynamic_cast( item ); wxCHECK( symbol, /* void */ ); diff --git a/eeschema/sch_edit_frame.h b/eeschema/sch_edit_frame.h index 2627211387..c682a7badc 100644 --- a/eeschema/sch_edit_frame.h +++ b/eeschema/sch_edit_frame.h @@ -53,7 +53,7 @@ class SCH_BITMAP; class SCH_SHEET; class SCH_SHEET_PATH; class SCH_SHEET_PIN; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; class SCH_JUNCTION; class SCHEMATIC; @@ -64,17 +64,17 @@ class HIERARCHY_NAVIG_DLG; // @todo Move this to transform alone with all of the transform manipulation code. /// enum used in RotationMiroir() -enum COMPONENT_ORIENTATION_T +enum SYMBOL_ORIENTATION_T { - CMP_NORMAL, // Normal orientation, no rotation or mirror - CMP_ROTATE_CLOCKWISE, // Rotate -90 - CMP_ROTATE_COUNTERCLOCKWISE, // Rotate +90 - CMP_ORIENT_0, // No rotation and no mirror id CMP_NORMAL - CMP_ORIENT_90, // Rotate 90, no mirror - CMP_ORIENT_180, // Rotate 180, no mirror - CMP_ORIENT_270, // Rotate -90, no mirror - CMP_MIRROR_X = 0x100, // Mirror around X axis - CMP_MIRROR_Y = 0x200 // Mirror around Y axis + SYM_NORMAL, // Normal orientation, no rotation or mirror + SYM_ROTATE_CLOCKWISE, // Rotate -90 + SYM_ROTATE_COUNTERCLOCKWISE, // Rotate +90 + SYM_ORIENT_0, // No rotation and no mirror id SYM_NORMAL + SYM_ORIENT_90, // Rotate 90, no mirror + SYM_ORIENT_180, // Rotate 180, no mirror + SYM_ORIENT_270, // Rotate -90, no mirror + SYM_MIRROR_X = 0x100, // Mirror around X axis + SYM_MIRROR_Y = 0x200 // Mirror around Y axis }; @@ -92,7 +92,7 @@ enum ANNOTATE_ORDER_T { SORT_BY_X_POSITION, ///< Annotate by X position from left to right. SORT_BY_Y_POSITION, ///< Annotate by Y position from top to bottom. - UNSORTED, ///< Annotate by position of component in the schematic sheet + UNSORTED, ///< Annotate by position of symbol in the schematic sheet ///< object list. }; @@ -112,7 +112,7 @@ enum ANNOTATE_ALGO_T enum SCH_SEARCH_T { HIGHLIGHT_PIN, - HIGHLIGHT_COMPONENT + HIGHLIGHT_SYMBOL }; @@ -199,18 +199,18 @@ public: /** * Execute a remote command sent by Pcbnew via a socket connection. - *

+ * * When user selects a footprint or pin in Pcbnew, Eeschema shows that same - * component or pin and moves cursor on the item. The socket port used + * symbol or pin and moves cursor on the item. The socket port used * is #KICAD_SCH_PORT_SERVICE_NUMBER which defaults to 4243. * * Valid commands are: - * \li \c \$PART: \c "reference" Put cursor on component. - * \li \c \$PART: \c "reference" \c \$REF: \c "ref" Put cursor on component reference. - * \li \c \$PART: \c "reference" \c \$VAL: \c "value" Put cursor on component value. - * \li \c \$PART: \c "reference" \c \$PAD: \c "pin name" Put cursor on the component pin. + * \li \c \$PART: \c "reference" Put cursor on symbol. + * \li \c \$PART: \c "reference" \c \$REF: \c "ref" Put cursor on symbol reference. + * \li \c \$PART: \c "reference" \c \$VAL: \c "value" Put cursor on symbol value. + * \li \c \$PART: \c "reference" \c \$PAD: \c "pin name" Put cursor on the symbol pin. * \li \c \$NET: \c "netname" Highlight a specified net - * \li \c \$CLEAR: \c "HIGHLIGHTED" Clear components highlight + * \li \c \$CLEAR: \c "HIGHLIGHTED" Clear symbols highlight *

* They are a keyword followed by a quoted string. * @param cmdline is the command received from Pcbnew. @@ -304,12 +304,12 @@ public: * Commands are: * - $PART: reference put cursor on footprint anchor * - $PIN: number $PART: reference put cursor on the footprint pad - * - $SHEET: time_stamp select all footprints of components is the schematic sheet path + * - $SHEET: time_stamp select all footprints of symbols is the schematic sheet path * * @param aObjectToSync is the item to be located on board. * @param aPart is the symbol if \a aObjectToSync is a sub item of a symbol (like a pin). */ - void SendMessageToPCBNEW( EDA_ITEM* aObjectToSync, SCH_COMPONENT* aPart ); + void SendMessageToPCBNEW( EDA_ITEM* aObjectToSync, SCH_SYMBOL* aPart ); /** * Sends a net name to Pcbnew for highlighting @@ -369,7 +369,7 @@ public: REPORTER* aReporter = nullptr ); /** - * Clear the current component annotation. + * Clear the current symbol annotation. * * @param aCurrentSheetOnly Where to clear the annotation. See #ANNOTATE_SCOPE_T * @param appendUndo true to add the action to the previous undo list @@ -378,7 +378,7 @@ public: /** * Annotate the symbols in the schematic that are not currently annotated. Multi-unit symbols - * are annotated together. E.g. if two components were R8A and R8B, they may become R3A and + * are annotated together. E.g. if two symbols were R8A and R8B, they may become R3A and * R3B, but not R3A and R3C or R3C and R4D. * * @param aAnnotateScope See #ANNOTATE_SCOPE_T @@ -386,7 +386,7 @@ public: * @param aAlgoOption Define the annotation style. See #ANNOTATE_ALGO_T. * @param aStartNumber The start number for non-sheet-based annotation styles. * @param aResetAnnotation Clear any previous annotation if true. Otherwise, keep the - * existing component annotation. + * existing symbol annotation. * @param aRepairTimestamps Test for and repair any duplicate time stamps if true. * Otherwise, keep the existing time stamps. This option * could change previous annotation because time stamps are @@ -662,9 +662,9 @@ public: */ void DeleteJunction( SCH_ITEM* aItem, bool aAppend = false ); - void ConvertPart( SCH_COMPONENT* aSymbol ); + void ConvertPart( SCH_SYMBOL* aSymbol ); - void SelectUnit( SCH_COMPONENT* aSymbol, int aUnit ); + void SelectUnit( SCH_SYMBOL* aSymbol, int aUnit ); /* Undo - redo */ @@ -744,7 +744,7 @@ public: /** * Create a symbol library file with the name of the root document plus the '-cache' suffix, * - * This file will contain all components used in the current schematic. + * This file will contain all symbols used in the current schematic. * * @param aUseCurrentSheetFilename set to false to use the root sheet filename * (default) or true to use the currently opened sheet. @@ -753,7 +753,7 @@ public: bool CreateArchiveLibraryCacheFile( bool aUseCurrentSheetFilename = false ); /** - * Create a library \a aFileName that contains all components used in the current schematic. + * Create a library \a aFileName that contains all symbols used in the current schematic. * * @param aFileName The full path and file name of the archive library. * @return True if \a aFileName was written successfully. diff --git a/eeschema/sch_field.cpp b/eeschema/sch_field.cpp index f894c9199a..9e84341245 100644 --- a/eeschema/sch_field.cpp +++ b/eeschema/sch_field.cpp @@ -115,7 +115,7 @@ wxString SCH_FIELD::GetShownText( int aDepth ) const } else { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); if( parentSymbol->ResolveTextVar( token, aDepth + 1 ) ) return true; @@ -155,7 +155,7 @@ wxString SCH_FIELD::GetShownText( int aDepth ) const if( aDepth < 10 ) { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) text = ExpandTextVars( text, &symbolResolver, nullptr, project ); else if( m_parent && m_parent->Type() == SCH_SHEET_T ) text = ExpandTextVars( text, &sheetResolver, nullptr, project ); @@ -169,9 +169,9 @@ wxString SCH_FIELD::GetShownText( int aDepth ) const // WARNING: the IDs of FIELDS and SHEETS overlap, so one must check *both* the // id and the parent's type. - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); if( m_id == REFERENCE_FIELD ) { @@ -211,9 +211,9 @@ void SCH_FIELD::Print( const RENDER_SETTINGS* aSettings, const wxPoint& aOffset // Calculate the text orientation according to the symbol orientation. orient = GetTextAngle(); - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); if( parentSymbol && parentSymbol->GetTransform().y1 ) // Rotate symbol 90 degrees. { @@ -277,9 +277,9 @@ const EDA_RECT SCH_FIELD::GetBoundingBox() const // Now, apply the symbol transform (mirror/rot) TRANSFORM transform; - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); // Due to the Y axis direction, we must mirror the bounding box, // relative to the text position: @@ -340,12 +340,12 @@ bool SCH_FIELD::Matches( const wxFindReplaceData& aSearchData, void* aAuxData ) if( !IsVisible() && !searchHiddenFields ) return false; - if( m_parent && m_parent->Type() == SCH_COMPONENT_T && m_id == REFERENCE_FIELD ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T && m_id == REFERENCE_FIELD ) { if( searchAndReplace && !replaceReferences ) return false; - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); wxASSERT( aAuxData ); // Take sheet path into account which effects the reference field and the unit for @@ -368,9 +368,9 @@ bool SCH_FIELD::Matches( const wxFindReplaceData& aSearchData, void* aAuxData ) bool SCH_FIELD::IsReplaceable() const { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); if( m_id == VALUE_FIELD ) { @@ -399,9 +399,9 @@ bool SCH_FIELD::Replace( const wxFindReplaceData& aSearchData, void* aAuxData ) bool resolve = false; // Replace in source text, not shown text bool isReplaced = false; - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); switch( m_id ) { @@ -547,7 +547,7 @@ wxString SCH_FIELD::GetName( bool aUseDefaultName ) const return m_name; else if( aUseDefaultName ) { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) return TEMPLATE_FIELDNAME::GetDefaultFieldName( m_id ); else if( m_parent && m_parent->Type() == SCH_SHEET_T ) return SCH_SHEET::GetDefaultFieldName( m_id ); @@ -561,7 +561,7 @@ wxString SCH_FIELD::GetName( bool aUseDefaultName ) const wxString SCH_FIELD::GetCanonicalName() const { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { switch( m_id ) { @@ -590,7 +590,7 @@ wxString SCH_FIELD::GetCanonicalName() const BITMAPS SCH_FIELD::GetMenuImage() const { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { switch( m_id ) { @@ -653,9 +653,9 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter ) const // Calculate the text orientation, according to the symbol orientation/mirror int orient = GetTextAngle(); - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); if( parentSymbol->GetTransform().y1 ) // Rotate symbol 90 deg. { @@ -691,10 +691,10 @@ void SCH_FIELD::SetPosition( const wxPoint& aPosition ) // Actual positions are calculated by the rotation/mirror transform of the parent symbol // of the field. The inverse transform is used to calculate the position relative to the // parent symbol. - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); - wxPoint relPos = aPosition - parentSymbol->GetPosition(); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); + wxPoint relPos = aPosition - parentSymbol->GetPosition(); relPos = parentSymbol->GetTransform().InverseTransform().TransformCoordinate( relPos ); @@ -708,10 +708,10 @@ void SCH_FIELD::SetPosition( const wxPoint& aPosition ) wxPoint SCH_FIELD::GetPosition() const { - if( m_parent && m_parent->Type() == SCH_COMPONENT_T ) + if( m_parent && m_parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* parentSymbol = static_cast( m_parent ); - wxPoint relativePos = GetTextPos() - parentSymbol->GetPosition(); + SCH_SYMBOL* parentSymbol = static_cast( m_parent ); + wxPoint relativePos = GetTextPos() - parentSymbol->GetPosition(); relativePos = parentSymbol->GetTransform().TransformCoordinate( relativePos ); diff --git a/eeschema/sch_field.h b/eeschema/sch_field.h index bf956fe4bc..0c73990990 100644 --- a/eeschema/sch_field.h +++ b/eeschema/sch_field.h @@ -32,7 +32,6 @@ #include class SCH_EDIT_FRAME; -class SCH_COMPONENT; class LIB_FIELD; diff --git a/eeschema/sch_junction.h b/eeschema/sch_junction.h index 0126f9fef7..6568ec35d2 100644 --- a/eeschema/sch_junction.h +++ b/eeschema/sch_junction.h @@ -79,7 +79,7 @@ public: { return ( aItem->Type() == SCH_LINE_T && ( aItem->GetLayer() == LAYER_WIRE || aItem->GetLayer() == LAYER_BUS ) ) || - aItem->Type() == SCH_COMPONENT_T; + aItem->Type() == SCH_SYMBOL_T; } wxString GetSelectMenuText( EDA_UNITS aUnits ) const override diff --git a/eeschema/sch_line.cpp b/eeschema/sch_line.cpp index 21cd13c495..89c7b295cf 100644 --- a/eeschema/sch_line.cpp +++ b/eeschema/sch_line.cpp @@ -661,7 +661,7 @@ bool SCH_LINE::CanConnect( const SCH_ITEM* aItem ) const case SCH_GLOBAL_LABEL_T: case SCH_HIER_LABEL_T: case SCH_BUS_WIRE_ENTRY_T: - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: case SCH_SHEET_T: case SCH_SHEET_PIN_T: return true; diff --git a/eeschema/sch_no_connect.h b/eeschema/sch_no_connect.h index ae4ec93508..b3f4d9edeb 100644 --- a/eeschema/sch_no_connect.h +++ b/eeschema/sch_no_connect.h @@ -87,7 +87,7 @@ public: bool CanConnect( const SCH_ITEM* aItem ) const override { return ( aItem->Type() == SCH_LINE_T && aItem->GetLayer() == LAYER_WIRE ) || - aItem->Type() == SCH_COMPONENT_T; + aItem->Type() == SCH_SYMBOL_T; } std::vector GetConnectionPoints() const override; diff --git a/eeschema/sch_painter.cpp b/eeschema/sch_painter.cpp index 27d26726a6..27c3a438b2 100644 --- a/eeschema/sch_painter.cpp +++ b/eeschema/sch_painter.cpp @@ -198,8 +198,8 @@ bool SCH_PAINTER::Draw( const VIEW_ITEM *aItem, int aLayer ) { BOX2I box = item->GetBoundingBox(); - if( item->Type() == SCH_COMPONENT_T ) - box = static_cast( item )->GetBodyBoundingBox(); + if( item->Type() == SCH_SYMBOL_T ) + box = static_cast( item )->GetBodyBoundingBox(); m_gal->SetIsFill( false ); m_gal->SetIsStroke( true ); @@ -220,7 +220,7 @@ bool SCH_PAINTER::Draw( const VIEW_ITEM *aItem, int aLayer ) HANDLE_ITEM( LIB_FIELD_T, LIB_FIELD ); HANDLE_ITEM( LIB_TEXT_T, LIB_TEXT ); HANDLE_ITEM( LIB_BEZIER_T, LIB_BEZIER ); - HANDLE_ITEM( SCH_COMPONENT_T, SCH_COMPONENT ); + HANDLE_ITEM( SCH_SYMBOL_T, SCH_SYMBOL ); HANDLE_ITEM( SCH_JUNCTION_T, SCH_JUNCTION ); HANDLE_ITEM( SCH_LINE_T, SCH_LINE ); HANDLE_ITEM( SCH_TEXT_T, SCH_TEXT ); @@ -1399,18 +1399,18 @@ static void orientPart( LIB_PART* part, int orientation ) } orientations[] = { - { CMP_ORIENT_0, 0, 0, 0 }, - { CMP_ORIENT_90, 1, 0, 0 }, - { CMP_ORIENT_180, 2, 0, 0 }, - { CMP_ORIENT_270, 3, 0, 0 }, - { CMP_MIRROR_X + CMP_ORIENT_0, 0, 1, 0 }, - { CMP_MIRROR_X + CMP_ORIENT_90, 1, 1, 0 }, - { CMP_MIRROR_Y, 0, 0, 1 }, - { CMP_MIRROR_X + CMP_ORIENT_270, 3, 1, 0 }, - { CMP_MIRROR_Y + CMP_ORIENT_0, 0, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_90, 1, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_180, 2, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_270, 3, 0, 1 } + { SYM_ORIENT_0, 0, 0, 0 }, + { SYM_ORIENT_90, 1, 0, 0 }, + { SYM_ORIENT_180, 2, 0, 0 }, + { SYM_ORIENT_270, 3, 0, 0 }, + { SYM_MIRROR_X + SYM_ORIENT_0, 0, 1, 0 }, + { SYM_MIRROR_X + SYM_ORIENT_90, 1, 1, 0 }, + { SYM_MIRROR_Y, 0, 0, 1 }, + { SYM_MIRROR_X + SYM_ORIENT_270, 3, 1, 0 }, + { SYM_MIRROR_Y + SYM_ORIENT_0, 0, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_90, 1, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_180, 2, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_270, 3, 0, 1 } }; ORIENT o = orientations[ 0 ]; @@ -1438,7 +1438,7 @@ static void orientPart( LIB_PART* part, int orientation ) } -void SCH_PAINTER::draw( SCH_COMPONENT *aSymbol, int aLayer ) +void SCH_PAINTER::draw( SCH_SYMBOL* aSymbol, int aLayer ) { int unit = aSymbol->GetUnitSelection( &m_schematic->CurrentSheet() ); int convert = aSymbol->GetConvert(); @@ -1482,7 +1482,7 @@ void SCH_PAINTER::draw( SCH_COMPONENT *aSymbol, int aLayer ) draw( &tempPart, aLayer, false, aSymbol->GetUnit(), aSymbol->GetConvert() ); - // The fields are SCH_COMPONENT-specific so don't need to be copied/oriented/translated + // The fields are SCH_SYMBOL-specific so don't need to be copied/oriented/translated for( const SCH_FIELD& field : aSymbol->GetFields() ) draw( &field, aLayer ); } @@ -1528,9 +1528,9 @@ void SCH_PAINTER::draw( const SCH_FIELD *aField, int aLayer ) // Calculate the text orientation according to the parent orientation. int orient = (int) aField->GetTextAngle(); - if( aField->GetParent() && aField->GetParent()->Type() == SCH_COMPONENT_T ) + if( aField->GetParent() && aField->GetParent()->Type() == SCH_SYMBOL_T ) { - if( static_cast( aField->GetParent() )->GetTransform().y1 ) + if( static_cast( aField->GetParent() )->GetTransform().y1 ) { // Rotate symbol 90 degrees. if( orient == TEXT_ANGLE_HORIZ ) diff --git a/eeschema/sch_painter.h b/eeschema/sch_painter.h index 4648c791a6..852e3b8c13 100644 --- a/eeschema/sch_painter.h +++ b/eeschema/sch_painter.h @@ -42,7 +42,7 @@ class LIB_ARC; class LIB_FIELD; class LIB_TEXT; class LIB_BEZIER; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; class SCH_JUNCTION; class SCH_LABEL; @@ -160,7 +160,7 @@ private: void draw( const LIB_FIELD* aField, int aLayer ); void draw( const LIB_TEXT* aText, int aLayer ); void draw( const LIB_BEZIER* aCurve, int aLayer ); - void draw( SCH_COMPONENT* aSymbol, int aLayer ); + void draw( SCH_SYMBOL* aSymbol, int aLayer ); void draw( const SCH_JUNCTION* aJct, int aLayer ); void draw( const SCH_FIELD* aField, int aLayer ); void draw( const SCH_TEXT* aText, int aLayer ); diff --git a/eeschema/sch_pin.cpp b/eeschema/sch_pin.cpp index 8562fb7be2..702c6bbebf 100644 --- a/eeschema/sch_pin.cpp +++ b/eeschema/sch_pin.cpp @@ -26,7 +26,7 @@ #include -SCH_PIN::SCH_PIN( LIB_PIN* aLibPin, SCH_COMPONENT* aParentSymbol ) : +SCH_PIN::SCH_PIN( LIB_PIN* aLibPin, SCH_SYMBOL* aParentSymbol ) : SCH_ITEM( aParentSymbol, SCH_PIN_T ) { m_alt = wxEmptyString; @@ -39,9 +39,9 @@ SCH_PIN::SCH_PIN( LIB_PIN* aLibPin, SCH_COMPONENT* aParentSymbol ) : /** * Create a proxy pin from an alternate pin designation. - * The LIB_PIN data will be filled in when the pin is resolved (see SCH_COMPONENT::UpdatePins). + * The LIB_PIN data will be filled in when the pin is resolved (see SCH_SYMBOL::UpdatePins). */ -SCH_PIN::SCH_PIN( SCH_COMPONENT* aParentSymbol, const wxString& aNumber, const wxString& aAlt ) : +SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt ) : SCH_ITEM( aParentSymbol, SCH_PIN_T ) { m_alt = aAlt; @@ -138,9 +138,9 @@ bool SCH_PIN::Replace( const wxFindReplaceData& aSearchData, void* aAuxData ) } -SCH_COMPONENT* SCH_PIN::GetParentSymbol() const +SCH_SYMBOL* SCH_PIN::GetParentSymbol() const { - return static_cast( GetParent() ); + return static_cast( GetParent() ); } @@ -200,7 +200,7 @@ void SCH_PIN::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, MSG_PANEL_ITEMS& aList ) SCH_EDIT_FRAME* schframe = dynamic_cast( aFrame ); SCH_SHEET_PATH* currentSheet = schframe ? &schframe->GetCurrentSheet() : nullptr; - SCH_COMPONENT* symbol = GetParentSymbol(); + SCH_SYMBOL* symbol = GetParentSymbol(); aList.emplace_back( symbol->GetRef( currentSheet ), symbol->GetValue( currentSheet, true ) ); diff --git a/eeschema/sch_pin.h b/eeschema/sch_pin.h index e53a07b665..c9d88c05d7 100644 --- a/eeschema/sch_pin.h +++ b/eeschema/sch_pin.h @@ -30,14 +30,14 @@ #include #include -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_PIN : public SCH_ITEM { public: - SCH_PIN( LIB_PIN* aLibPin, SCH_COMPONENT* aParentSymbol ); + SCH_PIN( LIB_PIN* aLibPin, SCH_SYMBOL* aParentSymbol ); - SCH_PIN( SCH_COMPONENT* aParentSymbol, const wxString& aNumber, const wxString& aAlt ); + SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt ); SCH_PIN( const SCH_PIN& aPin ); @@ -53,7 +53,7 @@ public: return wxT( "SCH_PIN" ); } - SCH_COMPONENT* GetParentSymbol() const; + SCH_SYMBOL* GetParentSymbol() const; LIB_PIN* GetLibPin() const { return m_libPin; } diff --git a/eeschema/sch_plugins/altium/altium_parser_sch.cpp b/eeschema/sch_plugins/altium/altium_parser_sch.cpp index 6ac950cd90..36382b13f7 100644 --- a/eeschema/sch_plugins/altium/altium_parser_sch.cpp +++ b/eeschema/sch_plugins/altium/altium_parser_sch.cpp @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 Thomas Pointhuber + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -93,7 +94,7 @@ ASCH_STORAGE_FILE::ASCH_STORAGE_FILE( ALTIUM_PARSER& aReader ) } -ASCH_COMPONENT::ASCH_COMPONENT( const std::map& aProperties ) +ASCH_SYMBOL::ASCH_SYMBOL( const std::map& aProperties ) { wxASSERT( PropertiesReadRecord( aProperties ) == ALTIUM_SCH_RECORD::COMPONENT ); @@ -746,4 +747,4 @@ ASCH_PARAMETER::ASCH_PARAMETER( const std::map& aProperties isHidden = ALTIUM_PARSER::PropertiesReadBool( aProperties, "ISHIDDEN", false ); isMirrored = ALTIUM_PARSER::PropertiesReadBool( aProperties, "ISMIRRORED", false ); isShowName = ALTIUM_PARSER::PropertiesReadBool( aProperties, "SHOWNAME", false ); -} \ No newline at end of file +} diff --git a/eeschema/sch_plugins/altium/altium_parser_sch.h b/eeschema/sch_plugins/altium/altium_parser_sch.h index ef5ff7efd5..d605c5f0d2 100644 --- a/eeschema/sch_plugins/altium/altium_parser_sch.h +++ b/eeschema/sch_plugins/altium/altium_parser_sch.h @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 Thomas Pointhuber + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -105,7 +106,7 @@ enum class ASCH_RECORD_ORIENTATION }; -struct ASCH_COMPONENT +struct ASCH_SYMBOL { int currentpartid; wxString libreference; @@ -120,7 +121,7 @@ struct ASCH_COMPONENT int displaymodecount; int displaymode; - explicit ASCH_COMPONENT( const std::map& aProperties ); + explicit ASCH_SYMBOL( const std::map& aProperties ); }; @@ -701,4 +702,4 @@ struct ASCH_PARAMETER explicit ASCH_PARAMETER( const std::map& aProperties ); }; -#endif //ALTIUM_PARSER_SCH_H \ No newline at end of file +#endif //ALTIUM_PARSER_SCH_H diff --git a/eeschema/sch_plugins/altium/sch_altium_plugin.cpp b/eeschema/sch_plugins/altium/sch_altium_plugin.cpp index 84944c3059..037e011dcc 100644 --- a/eeschema/sch_plugins/altium/sch_altium_plugin.cpp +++ b/eeschema/sch_plugins/altium/sch_altium_plugin.cpp @@ -64,10 +64,10 @@ #include -const wxPoint GetRelativePosition( const wxPoint& aPosition, const SCH_COMPONENT* aComponent ) +const wxPoint GetRelativePosition( const wxPoint& aPosition, const SCH_SYMBOL* aSymbol ) { - TRANSFORM t = aComponent->GetTransform().InverseTransform(); - return t.TransformCoordinate( aPosition - aComponent->GetPosition() ); + TRANSFORM t = aSymbol->GetTransform().InverseTransform(); + return t.TransformCoordinate( aPosition - aSymbol->GetPosition() ); } @@ -553,8 +553,8 @@ const ASCH_STORAGE_FILE* SCH_ALTIUM_PLUGIN::GetFileFromStorage( const wxString& void SCH_ALTIUM_PLUGIN::ParseComponent( int aIndex, const std::map& aProperties ) { - auto pair = m_altiumComponents.insert( { aIndex, ASCH_COMPONENT( aProperties ) } ); - const ASCH_COMPONENT& elem = pair.first->second; + auto pair = m_altiumComponents.insert( { aIndex, ASCH_SYMBOL( aProperties ) } ); + const ASCH_SYMBOL& elem = pair.first->second; // TODO: this is a hack until we correctly apply all transformations to every element wxString name = wxString::Format( "%d%s_%s", @@ -570,18 +570,18 @@ void SCH_ALTIUM_PLUGIN::ParseComponent( int aIndex, m_symbols.insert( { aIndex, kpart } ); // each component has its own symbol for now - SCH_COMPONENT* component = new SCH_COMPONENT(); + SCH_SYMBOL* symbol = new SCH_SYMBOL(); - component->SetPosition( elem.location + m_sheetOffset ); + symbol->SetPosition( elem.location + m_sheetOffset ); //component->SetOrientation( elem.orientation ); // TODO: keep it simple for now, and only set position - component->SetLibId( libId ); + symbol->SetLibId( libId ); //component->SetLibSymbol( kpart ); // this has to be done after parsing the LIB_PART! - component->SetUnit( elem.currentpartid ); + symbol->SetUnit( elem.currentpartid ); - m_currentSheet->GetScreen()->Append( component ); + m_currentSheet->GetScreen()->Append( symbol ); - m_components.insert( { aIndex, component } ); + m_components.insert( { aIndex, symbol } ); } @@ -1683,7 +1683,7 @@ void SCH_ALTIUM_PLUGIN::ParsePowerPort( const std::map& aPro m_rootSheet->LocatePathOfScreen( m_currentSheet->GetScreen(), &sheetpath ); // each component has its own symbol for now - SCH_COMPONENT* component = new SCH_COMPONENT(); + SCH_SYMBOL* component = new SCH_SYMBOL(); component->SetRef( &sheetpath, "#PWR?" ); component->SetValue( elem.text ); component->SetLibId( libId ); @@ -1700,22 +1700,22 @@ void SCH_ALTIUM_PLUGIN::ParsePowerPort( const std::map& aPro switch( elem.orientation ) { case ASCH_RECORD_ORIENTATION::RIGHTWARDS: - component->SetOrientation( COMPONENT_ORIENTATION_T::CMP_ORIENT_90 ); + component->SetOrientation( SYMBOL_ORIENTATION_T::SYM_ORIENT_90 ); valueField->SetTextAngle( -900. ); valueField->SetHorizJustify( EDA_TEXT_HJUSTIFY_T::GR_TEXT_HJUSTIFY_LEFT ); break; case ASCH_RECORD_ORIENTATION::UPWARDS: - component->SetOrientation( COMPONENT_ORIENTATION_T::CMP_ORIENT_180 ); + component->SetOrientation( SYMBOL_ORIENTATION_T::SYM_ORIENT_180 ); valueField->SetTextAngle( -1800. ); valueField->SetHorizJustify( EDA_TEXT_HJUSTIFY_T::GR_TEXT_HJUSTIFY_CENTER ); break; case ASCH_RECORD_ORIENTATION::LEFTWARDS: - component->SetOrientation( COMPONENT_ORIENTATION_T::CMP_ORIENT_270 ); + component->SetOrientation( SYMBOL_ORIENTATION_T::SYM_ORIENT_270 ); valueField->SetTextAngle( -2700. ); valueField->SetHorizJustify( EDA_TEXT_HJUSTIFY_T::GR_TEXT_HJUSTIFY_RIGHT ); break; case ASCH_RECORD_ORIENTATION::DOWNWARDS: - component->SetOrientation( COMPONENT_ORIENTATION_T::CMP_ORIENT_0 ); + component->SetOrientation( SYMBOL_ORIENTATION_T::SYM_ORIENT_0 ); valueField->SetTextAngle( 0. ); valueField->SetHorizJustify( EDA_TEXT_HJUSTIFY_T::GR_TEXT_HJUSTIFY_CENTER ); break; diff --git a/eeschema/sch_plugins/altium/sch_altium_plugin.h b/eeschema/sch_plugins/altium/sch_altium_plugin.h index 256a068083..be0ad79c58 100644 --- a/eeschema/sch_plugins/altium/sch_altium_plugin.h +++ b/eeschema/sch_plugins/altium/sch_altium_plugin.h @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 Thomas Pointhuber + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -32,7 +33,7 @@ #include "altium_parser_sch.h" -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_SHEET; class TITLE_BLOCK; @@ -154,14 +155,14 @@ private: wxPoint m_sheetOffset; std::unique_ptr m_altiumSheet; - std::map m_components; + std::map m_components; std::map m_sheets; std::map m_symbols; // every component has its unique symbol std::map m_powerSymbols; std::vector m_altiumStorage; - std::map m_altiumComponents; + std::map m_altiumComponents; std::vector m_altiumPortsCurrentSheet; // we require all connections first }; diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp index f97d9bcc87..a9a4144f73 100644 --- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp +++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp @@ -34,7 +34,7 @@ #include #include #include -#include //COMPONENT_ORIENTATION_T +#include //SYMBOL_ORIENTATION_T #include #include #include @@ -136,11 +136,11 @@ void CADSTAR_SCH_ARCHIVE_LOADER::Load( SCHEMATIC* aSchematic, SCH_SHEET* aRootSh { EDA_RECT bbox; - // Only use the visible fields of the components to calculate their bounding box + // Only use the visible fields of the symbols to calculate their bounding box // (hidden fields could be very long and artificially enlarge the sheet bounding box) - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* comp = static_cast( item ); + SCH_SYMBOL* comp = static_cast( item ); bbox = comp->GetBodyBoundingBox(); for( const SCH_FIELD& field : comp->GetFields() ) @@ -430,15 +430,15 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances() LIB_PART* scaledPart = getScaledLibPart( kiPart, sym.ScaleRatioNumerator, sym.ScaleRatioDenominator ); - double symOrientDeciDeg = 0.0; - SCH_COMPONENT* component = loadSchematicSymbol( sym, *scaledPart, symOrientDeciDeg ); + double symOrientDeciDeg = 0.0; + SCH_SYMBOL* symbol = loadSchematicSymbol( sym, *scaledPart, symOrientDeciDeg ); delete scaledPart; if( copy ) delete kiPart; - SCH_FIELD* refField = component->GetField( REFERENCE_FIELD ); + SCH_FIELD* refField = symbol->GetField( REFERENCE_FIELD ); sym.ComponentRef.Designator.Replace( wxT( "\n" ), wxT( "\\n" ) ); sym.ComponentRef.Designator.Replace( wxT( "\r" ), wxT( "\\r" ) ); @@ -451,13 +451,13 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances() if( sym.HasPartRef ) { - SCH_FIELD* partField = component->FindField( PartNameFieldName ); + SCH_FIELD* partField = symbol->FindField( PartNameFieldName ); if( !partField ) { - int fieldID = component->GetFieldCount(); - partField = component->AddField( SCH_FIELD( wxPoint(), fieldID, component, - PartNameFieldName ) ); + int fieldID = symbol->GetFieldCount(); + partField = symbol->AddField( SCH_FIELD( wxPoint(), fieldID, symbol, + PartNameFieldName ) ); } wxASSERT( partField->GetName() == PartNameFieldName ); @@ -481,13 +481,13 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances() if( attrVal.HasLocation ) { wxString attrName = getAttributeName( attrVal.AttributeID ); - SCH_FIELD* attrField = component->FindField( attrName ); + SCH_FIELD* attrField = symbol->FindField( attrName ); if( !attrField ) { - int fieldID = component->GetFieldCount(); - attrField = component->AddField( SCH_FIELD( wxPoint(), fieldID, - component, attrName ) ); + int fieldID = symbol->GetFieldCount(); + attrField = symbol->AddField( SCH_FIELD( wxPoint(), fieldID, + symbol, attrName ) ); } wxASSERT( attrField->GetName() == attrName ); @@ -593,8 +593,8 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances() sym.ScaleRatioDenominator ); double returnedOrient = 0.0; - SCH_COMPONENT* component = loadSchematicSymbol( sym, *scaledPart, returnedOrient ); - m_powerSymMap.insert( { sym.ID, component } ); + SCH_SYMBOL* symbol = loadSchematicSymbol( sym, *scaledPart, returnedOrient ); + m_powerSymMap.insert( { sym.ID, symbol } ); delete scaledPart; } @@ -636,7 +636,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances() else { m_reporter->Report( wxString::Format( _( "Symbol ID '%s' is of an unknown type. It is " - "neither a component or a net power / symbol. " + "neither a symbol or a net power / symbol. " "The symbol was not loaded." ), sym.ID ), RPT_SEVERITY_ERROR ); @@ -879,7 +879,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadNets() if( start.x == UNDEFINED_VALUE || end.x == UNDEFINED_VALUE ) continue; - // Connections in CADSTAR are always implied between components even if the route + // Connections in CADSTAR are always implied between symbols even if the route // doesn't start and end exactly at the connection points if( conn.Path.size() < 1 || conn.Path.front() != start ) conn.Path.insert( conn.Path.begin(), start ); @@ -1582,8 +1582,9 @@ void CADSTAR_SCH_ARCHIVE_LOADER::applyToLibraryFieldAttribute( } -SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( - const SYMBOL& aCadstarSymbol, const LIB_PART& aKiCadPart, double& aComponentOrientationDeciDeg ) +SCH_SYMBOL* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( const SYMBOL& aCadstarSymbol, + const LIB_PART& aKiCadPart, + double& aComponentOrientationDeciDeg ) { LIB_ID libId( m_libraryFileName.GetName(), aKiCadPart.GetName() ); int unit = getKiCadUnitNumberFromGate( aCadstarSymbol.GateID ); @@ -1592,14 +1593,14 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( SCH_SHEET* kiSheet = m_sheetMap.at( aCadstarSymbol.LayerID ); m_rootSheet->LocatePathOfScreen( kiSheet->GetScreen(), &sheetpath ); - SCH_COMPONENT* component = new SCH_COMPONENT( aKiCadPart, libId, &sheetpath, unit ); + SCH_SYMBOL* symbol = new SCH_SYMBOL( aKiCadPart, libId, &sheetpath, unit ); if( aCadstarSymbol.IsComponent ) { - component->SetRef( &sheetpath, aCadstarSymbol.ComponentRef.Designator ); + symbol->SetRef( &sheetpath, aCadstarSymbol.ComponentRef.Designator ); } - component->SetPosition( getKiCadPoint( aCadstarSymbol.Origin ) ); + symbol->SetPosition( getKiCadPoint( aCadstarSymbol.Origin ) ); double compAngleDeciDeg = getAngleTenthDegree( aCadstarSymbol.OrientAngle ); int compOrientation = 0; @@ -1607,7 +1608,7 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( if( aCadstarSymbol.Mirror ) { compAngleDeciDeg = -compAngleDeciDeg; - compOrientation += COMPONENT_ORIENTATION_T::CMP_MIRROR_Y; + compOrientation += SYMBOL_ORIENTATION_T::SYM_MIRROR_Y; } compOrientation += getComponentOrientation( compAngleDeciDeg, aComponentOrientationDeciDeg ); @@ -1624,7 +1625,7 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( RPT_SEVERITY_ERROR); } - component->SetOrientation( compOrientation ); + symbol->SetOrientation( compOrientation ); if( m_sheetMap.find( aCadstarSymbol.LayerID ) == m_sheetMap.end() ) { @@ -1635,7 +1636,7 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( aCadstarSymbol.LayerID ), RPT_SEVERITY_ERROR ); - delete component; + delete symbol; return nullptr; } @@ -1652,7 +1653,7 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( for( auto& term : termNumMap ) { wxString pinNum = term.second; - pinNumToLibPinMap.insert( { pinNum, component->GetPartRef()->GetPin( term.second ) } ); + pinNumToLibPinMap.insert( { pinNum, symbol->GetPartRef()->GetPin( term.second ) } ); } auto replacePinNumber = [&]( wxString aOldPinNum, wxString aNewPinNum ) @@ -1680,12 +1681,12 @@ SCH_COMPONENT* CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol( replacePinNumber( termNumMap.at( pin.TerminalID ), pin.NameOrLabel ); } - component->UpdatePins(); + symbol->UpdatePins(); } - kiSheet->GetScreen()->Append( component ); + kiSheet->GetScreen()->Append( symbol ); - return component; + return symbol; } @@ -1703,8 +1704,8 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSymbolFieldAttribute( if( aIsMirrored ) { - // In KiCad, the angle of the symbol instance affects the position of the symbol fields because - // there is a distinction on x-axis and y-axis mirroring + // In KiCad, the angle of the symbol instance affects the position of the symbol + // fields because there is a distinction on x-axis and y-axis mirroring double angleDeciDeg = NormalizeAnglePos( aComponentOrientationDeciDeg ); int quadrant = KiROUND( angleDeciDeg / 900.0 ); quadrant %= 4; @@ -1731,28 +1732,28 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSymbolFieldAttribute( int CADSTAR_SCH_ARCHIVE_LOADER::getComponentOrientation( double aOrientAngleDeciDeg, double& aReturnedOrientationDeciDeg ) { - int compOrientation = COMPONENT_ORIENTATION_T::CMP_ORIENT_0; + int compOrientation = SYMBOL_ORIENTATION_T::SYM_ORIENT_0; int oDeg = (int) NormalizeAngle180( aOrientAngleDeciDeg ); if( oDeg >= -450 && oDeg <= 450 ) { - compOrientation = COMPONENT_ORIENTATION_T::CMP_ORIENT_0; + compOrientation = SYMBOL_ORIENTATION_T::SYM_ORIENT_0; aReturnedOrientationDeciDeg = 0.0; } else if( oDeg >= 450 && oDeg <= 1350 ) { - compOrientation = COMPONENT_ORIENTATION_T::CMP_ORIENT_90; + compOrientation = SYMBOL_ORIENTATION_T::SYM_ORIENT_90; aReturnedOrientationDeciDeg = 900.0; } else if( oDeg >= 1350 || oDeg <= -1350 ) { - compOrientation = COMPONENT_ORIENTATION_T::CMP_ORIENT_180; + compOrientation = SYMBOL_ORIENTATION_T::SYM_ORIENT_180; aReturnedOrientationDeciDeg = 1800.0; } else { - compOrientation = COMPONENT_ORIENTATION_T::CMP_ORIENT_270; + compOrientation = SYMBOL_ORIENTATION_T::SYM_ORIENT_270; aReturnedOrientationDeciDeg = 2700.0; } diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.h b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.h index 8da7d6bdf1..a7d11a8364 100644 --- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.h +++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.h @@ -39,7 +39,7 @@ class EDA_TEXT; class LABEL_SPIN_STYLE; class LIB_FIELD; class LIB_PART; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_ITEM; class SCH_FIELD; class SCH_GLOBALLABEL; @@ -103,7 +103,7 @@ private: /// for a particular PART_ID and GATE_ID std::map m_pinNumsMap; ///< Map of pin numbers in CADSTAR parts std::map m_powerSymLibMap; ///< Map of KiCad Power Symbol Library items - std::map + std::map m_powerSymMap; ///< Map between Cadstar and KiCad Power Symbols std::map m_globalLabelsMap; ///< Map between Cadstar and KiCad Global Labels @@ -143,7 +143,7 @@ private: wxPoint aSymbolOrigin, LIB_FIELD* aKiCadField ); //Helper Functions for loading symbols in schematic - SCH_COMPONENT* loadSchematicSymbol( const SYMBOL& aCadstarSymbol, const LIB_PART& aKiCadPart, + SCH_SYMBOL* loadSchematicSymbol( const SYMBOL& aCadstarSymbol, const LIB_PART& aKiCadPart, double& aComponentOrientationDeciDeg ); void loadSymbolFieldAttribute( const ATTRIBUTE_LOCATION& aCadstarAttrLoc, diff --git a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp index 66495de910..dfbda93838 100644 --- a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp +++ b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp @@ -220,8 +220,8 @@ SCH_LAYER_ID SCH_EAGLE_PLUGIN::kiCadLayer( int aEagleLayer ) } -// Return the KiCad component orientation based on eagle rotation degrees. -static COMPONENT_ORIENTATION_T kiCadComponentRotation( float eagleDegrees ) +// Return the KiCad symbol orientation based on eagle rotation degrees. +static SYMBOL_ORIENTATION_T kiCadComponentRotation( float eagleDegrees ) { int roti = int( eagleDegrees ); @@ -232,25 +232,25 @@ static COMPONENT_ORIENTATION_T kiCadComponentRotation( float eagleDegrees ) KI_FALLTHROUGH; case 0: - return CMP_ORIENT_0; + return SYM_ORIENT_0; case 90: - return CMP_ORIENT_90; + return SYM_ORIENT_90; case 180: - return CMP_ORIENT_180; + return SYM_ORIENT_180; case 270: - return CMP_ORIENT_270; + return SYM_ORIENT_270; } - return CMP_ORIENT_0; + return SYM_ORIENT_0; } // Calculate text alignment based on the given Eagle text alignment parameters. static void eagleToKicadAlignment( EDA_TEXT* aText, int aEagleAlignment, int aRelDegress, - bool aMirror, bool aSpin, int aAbsDegress ) + bool aMirror, bool aSpin, int aAbsDegress ) { int align = aEagleAlignment; @@ -637,11 +637,11 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode ) } } - // Handle the missing component units that need to be instantiated + // Handle the missing symbol units that need to be instantiated // to create the missing implicit connections // Calculate the already placed items bounding box and the page size to determine - // placement for the new components + // placement for the new symbols wxSize pageSizeIU = m_rootSheet->GetScreen()->GetPageSettings().GetSizeIU(); EDA_RECT sheetBbox = getSheetBbox( m_rootSheet ); wxPoint newCmpPosition( sheetBbox.GetLeft(), sheetBbox.GetBottom() ); @@ -652,27 +652,27 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode ) for( auto& cmp : m_missingCmps ) { - const SCH_COMPONENT* origCmp = cmp.second.cmp; + const SCH_SYMBOL* origSymbol = cmp.second.cmp; for( auto unitEntry : cmp.second.units ) { if( unitEntry.second == false ) continue; // unit has been already processed - // Instantiate the missing component unit + // Instantiate the missing symbol unit int unit = unitEntry.first; - const wxString reference = origCmp->GetField( REFERENCE_FIELD )->GetText(); - std::unique_ptr component( (SCH_COMPONENT*) origCmp->Duplicate() ); + const wxString reference = origSymbol->GetField( REFERENCE_FIELD )->GetText(); + std::unique_ptr symbol( (SCH_SYMBOL*) origSymbol->Duplicate() ); - component->SetUnitSelection( &sheetpath, unit ); - component->SetUnit( unit ); - component->SetOrientation( 0 ); - component->AddHierarchicalReference( sheetpath.Path(), reference, unit ); + symbol->SetUnitSelection( &sheetpath, unit ); + symbol->SetUnit( unit ); + symbol->SetOrientation( 0 ); + symbol->AddHierarchicalReference( sheetpath.Path(), reference, unit ); // Calculate the placement position - EDA_RECT cmpBbox = component->GetBoundingBox(); + EDA_RECT cmpBbox = symbol->GetBoundingBox(); int posY = newCmpPosition.y + cmpBbox.GetHeight(); - component->SetPosition( wxPoint( newCmpPosition.x, posY ) ); + symbol->SetPosition( wxPoint( newCmpPosition.x, posY ) ); newCmpPosition.x += cmpBbox.GetWidth(); maxY = std::max( maxY, posY ); @@ -680,8 +680,8 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode ) newCmpPosition = wxPoint( sheetBbox.GetLeft(), maxY ); // then start a new row // Add the global net labels to recreate the implicit connections - addImplicitConnections( component.get(), m_rootSheet->GetScreen(), false ); - m_rootSheet->GetScreen()->Append( component.release() ); + addImplicitConnections( symbol.get(), m_rootSheet->GetScreen(), false ); + m_rootSheet->GetScreen()->Append( symbol.release() ); } } @@ -840,9 +840,9 @@ void SCH_EAGLE_PLUGIN::loadSheet( wxXmlNode* aSheetNode, int aSheetIndex ) translation.y = translation.y - translation.y % Mils2iu( 100 ); // Add global net labels for the named power input pins in this sheet - for( auto item : m_currentSheet->GetScreen()->Items().OfType( SCH_COMPONENT_T ) ) - addImplicitConnections( - static_cast( item ), m_currentSheet->GetScreen(), true ); + for( auto item : m_currentSheet->GetScreen()->Items().OfType( SCH_SYMBOL_T ) ) + addImplicitConnections( static_cast( item ), m_currentSheet->GetScreen(), + true ); m_connPoints.clear(); @@ -1153,7 +1153,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) SCH_SCREEN* screen = m_currentSheet->GetScreen(); // Find the part in the list for the sheet. - // Assign the component its value from the part entry + // Assign the symbol its value from the part entry // Calculate the unit number from the gate entry of the instance // Assign the LIB_ID from device set and device names @@ -1198,19 +1198,19 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) return; } - LIB_ID libId( getLibName(), kisymbolname ); - std::unique_ptr component = std::make_unique(); - component->SetLibId( libId ); - component->SetUnit( unit ); - component->SetPosition( wxPoint( einstance.x.ToSchUnits(), -einstance.y.ToSchUnits() ) ); - component->GetField( FOOTPRINT_FIELD )->SetText( package ); + LIB_ID libId( getLibName(), kisymbolname ); + std::unique_ptr symbol = std::make_unique(); + symbol->SetLibId( libId ); + symbol->SetUnit( unit ); + symbol->SetPosition( wxPoint( einstance.x.ToSchUnits(), -einstance.y.ToSchUnits() ) ); + symbol->GetField( FOOTPRINT_FIELD )->SetText( package ); if( einstance.rot ) { - component->SetOrientation( kiCadComponentRotation( einstance.rot->degrees ) ); + symbol->SetOrientation( kiCadComponentRotation( einstance.rot->degrees ) ); if( einstance.rot->mirror ) - component->MirrorHorizontally( einstance.x.ToSchUnits() ); + symbol->MirrorHorizontally( einstance.x.ToSchUnits() ); } std::vector partFields; @@ -1218,9 +1218,9 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) for( const LIB_FIELD* field : partFields ) { - component->GetFieldById( field->GetId() )->ImportValues( *field ); - component->GetFieldById( field->GetId() )->SetTextPos( component->GetPosition() - + field->GetTextPos() ); + symbol->GetFieldById( field->GetId() )->ImportValues( *field ); + symbol->GetFieldById( field->GetId() )->SetTextPos( symbol->GetPosition() + + field->GetTextPos() ); } // If there is no footprint assigned, then prepend the reference value @@ -1235,23 +1235,24 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) SCH_SHEET_PATH sheetpath; m_rootSheet->LocatePathOfScreen( screen, &sheetpath ); - wxString current_sheetpath = sheetpath.PathAsString() + component->m_Uuid.AsString(); + wxString current_sheetpath = sheetpath.PathAsString() + symbol->m_Uuid.AsString(); - component->GetField( REFERENCE_FIELD )->SetText( reference ); - component->AddHierarchicalReference( current_sheetpath, reference, unit ); + symbol->GetField( REFERENCE_FIELD )->SetText( reference ); + symbol->AddHierarchicalReference( current_sheetpath, reference, unit ); if( epart->value ) - component->GetField( VALUE_FIELD )->SetText( *epart->value ); + symbol->GetField( VALUE_FIELD )->SetText( *epart->value ); else - component->GetField( VALUE_FIELD )->SetText( kisymbolname ); + symbol->GetField( VALUE_FIELD )->SetText( kisymbolname ); // Set the visibility of fields. - component->GetField( REFERENCE_FIELD )->SetVisible( part->GetFieldById( REFERENCE_FIELD )->IsVisible() ); - component->GetField( VALUE_FIELD )->SetVisible( part->GetFieldById( VALUE_FIELD )->IsVisible() ); + symbol->GetField( REFERENCE_FIELD )->SetVisible( + part->GetFieldById( REFERENCE_FIELD )->IsVisible() ); + symbol->GetField( VALUE_FIELD )->SetVisible( part->GetFieldById( VALUE_FIELD )->IsVisible() ); for( const auto& a : epart->attribute ) { - auto field = component->AddField( *component->GetField( VALUE_FIELD ) ); + auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); field->SetName( a.first ); field->SetText( a.second ); field->SetVisible( false ); @@ -1259,7 +1260,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) for( const auto& a : epart->variant ) { - auto field = component->AddField( *component->GetField( VALUE_FIELD ) ); + auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); field->SetName( "VARIANT_" + a.first ); field->SetText( a.second ); field->SetVisible( false ); @@ -1280,17 +1281,17 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) if( attr.name.Lower() == "name" ) { - field = component->GetField( REFERENCE_FIELD ); + field = symbol->GetField( REFERENCE_FIELD ); nameAttributeFound = true; } else if( attr.name.Lower() == "value" ) { - field = component->GetField( VALUE_FIELD ); + field = symbol->GetField( VALUE_FIELD ); valueAttributeFound = true; } else { - field = component->FindField( attr.name ); + field = symbol->FindField( attr.name ); if( field ) field->SetVisible( false ); @@ -1327,7 +1328,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) if( attributeNode->GetAttribute( "name", &variant ) && attributeNode->GetAttribute( "value", &value ) ) { - auto field = component->AddField( *component->GetField( VALUE_FIELD ) ); + auto field = symbol->AddField( *symbol->GetField( VALUE_FIELD ) ); field->SetName( "VARIANT_" + variant ); field->SetText( value ); field->SetVisible( false ); @@ -1340,29 +1341,29 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode ) if( einstance.smashed && einstance.smashed.Get() ) { if( !valueAttributeFound ) - component->GetField( VALUE_FIELD )->SetVisible( false ); + symbol->GetField( VALUE_FIELD )->SetVisible( false ); if( !nameAttributeFound ) - component->GetField( REFERENCE_FIELD )->SetVisible( false ); + symbol->GetField( REFERENCE_FIELD )->SetVisible( false ); } // Save the pin positions SYMBOL_LIB_TABLE& schLibTable = *m_schematic->Prj().SchSymbolLibTable(); - LIB_PART* libSymbol = schLibTable.LoadSymbol( component->GetLibId() ); + LIB_PART* libSymbol = schLibTable.LoadSymbol( symbol->GetLibId() ); wxCHECK( libSymbol, /*void*/ ); - component->SetLibSymbol( new LIB_PART( *libSymbol ) ); + symbol->SetLibSymbol( new LIB_PART( *libSymbol ) ); std::vector pins; - component->GetLibPins( pins ); + symbol->GetLibPins( pins ); for( const auto& pin : pins ) - m_connPoints[component->GetPinPhysicalPosition( pin )].emplace( pin ); + m_connPoints[symbol->GetPinPhysicalPosition( pin )].emplace( pin ); - component->ClearFlags(); + symbol->ClearFlags(); - screen->Append( component.release() ); + screen->Append( symbol.release() ); } @@ -2781,10 +2782,9 @@ const SEG* SCH_EAGLE_PLUGIN::SEG_DESC::LabelAttached( const SCH_TEXT* aLabel ) c // TODO could be used to place junctions, instead of IsJunctionNeeded() // (see SCH_EDIT_FRAME::importFile()) -bool SCH_EAGLE_PLUGIN::checkConnections( - const SCH_COMPONENT* aComponent, const LIB_PIN* aPin ) const +bool SCH_EAGLE_PLUGIN::checkConnections( const SCH_SYMBOL* aSymbol, const LIB_PIN* aPin ) const { - wxPoint pinPosition = aComponent->GetPinPhysicalPosition( aPin ); + wxPoint pinPosition = aSymbol->GetPinPhysicalPosition( aPin ); auto pointIt = m_connPoints.find( pinPosition ); if( pointIt == m_connPoints.end() ) @@ -2796,20 +2796,20 @@ bool SCH_EAGLE_PLUGIN::checkConnections( } -void SCH_EAGLE_PLUGIN::addImplicitConnections( - SCH_COMPONENT* aComponent, SCH_SCREEN* aScreen, bool aUpdateSet ) +void SCH_EAGLE_PLUGIN::addImplicitConnections( SCH_SYMBOL* aSymbol, SCH_SCREEN* aScreen, + bool aUpdateSet ) { - wxCHECK( aComponent->GetPartRef(), /*void*/ ); + wxCHECK( aSymbol->GetPartRef(), /*void*/ ); // Normally power parts also have power input pins, // but they already force net names on the attached wires - if( aComponent->GetPartRef()->IsPower() ) + if( aSymbol->GetPartRef()->IsPower() ) return; - int unit = aComponent->GetUnit(); - const wxString reference = aComponent->GetField( REFERENCE_FIELD )->GetText(); + int unit = aSymbol->GetUnit(); + const wxString reference = aSymbol->GetField( REFERENCE_FIELD )->GetText(); std::vector pins; - aComponent->GetPartRef()->GetPins( pins ); + aSymbol->GetPartRef()->GetPins( pins ); std::set missingUnits; // Search all units for pins creating implicit connections @@ -2822,11 +2822,11 @@ void SCH_EAGLE_PLUGIN::addImplicitConnections( // Create a global net label only if there are no other wires/pins attached if( pinInUnit ) { - if( !checkConnections( aComponent, pin ) ) + if( !checkConnections( aSymbol, pin ) ) { // Create a net label to force the net name on the pin SCH_GLOBALLABEL* netLabel = new SCH_GLOBALLABEL; - netLabel->SetPosition( aComponent->GetPinPhysicalPosition( pin ) ); + netLabel->SetPosition( aSymbol->GetPinPhysicalPosition( pin ) ); netLabel->SetText( extractNetName( pin->GetName() ) ); netLabel->SetTextSize( wxSize( Mils2iu( 40 ), Mils2iu( 40 ) ) ); netLabel->SetLabelSpinStyle( LABEL_SPIN_STYLE::LEFT ); @@ -2844,7 +2844,7 @@ void SCH_EAGLE_PLUGIN::addImplicitConnections( } } - if( aUpdateSet && aComponent->GetPartRef()->GetUnitCount() > 1 ) + if( aUpdateSet && aSymbol->GetPartRef()->GetUnitCount() > 1 ) { auto cmpIt = m_missingCmps.find( reference ); @@ -2852,7 +2852,7 @@ void SCH_EAGLE_PLUGIN::addImplicitConnections( if( cmpIt == m_missingCmps.end() ) { EAGLE_MISSING_CMP& entry = m_missingCmps[reference]; - entry.cmp = aComponent; + entry.cmp = aSymbol; entry.units.emplace( unit, false ); } else @@ -2864,7 +2864,7 @@ void SCH_EAGLE_PLUGIN::addImplicitConnections( if( !missingUnits.empty() ) // Save the units that need later processing { EAGLE_MISSING_CMP& entry = m_missingCmps[reference]; - entry.cmp = aComponent; + entry.cmp = aSymbol; // Add units that haven't already been processed. for( int i : missingUnits ) diff --git a/eeschema/sch_plugins/eagle/sch_eagle_plugin.h b/eeschema/sch_plugins/eagle/sch_eagle_plugin.h index 76c572fbfd..c393e6ee0d 100644 --- a/eeschema/sch_plugins/eagle/sch_eagle_plugin.h +++ b/eeschema/sch_plugins/eagle/sch_eagle_plugin.h @@ -45,7 +45,7 @@ class SCH_LINE; class SCH_BUS_ENTRY_BASE; class SCH_TEXT; class SCH_GLOBALLABEL; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; class PROPERTIES; class SCH_EAGLE_PLUGIN_CACHE; @@ -166,7 +166,7 @@ private: wxFileName getLibFileName(); ///< Checks if there are other wires or pins at the position of the tested pin - bool checkConnections( const SCH_COMPONENT* aComponent, const LIB_PIN* aPin ) const; + bool checkConnections( const SCH_SYMBOL* aSymbol, const LIB_PIN* aPin ) const; /** * Create net labels to emulate implicit connections in Eagle. @@ -176,11 +176,11 @@ private: * units that are not instantiated in the schematics, therefore such units need to be stored * in order to create them at later stage. * - * @param aComponent is the component to process. + * @param aSymbol is the symbol to process. * @param aScreen is the screen where net labels should be added. * @param aUpdateSet decides whether the missing units data should be updated. */ - void addImplicitConnections( SCH_COMPONENT* aComponent, SCH_SCREEN* aScreen, bool aUpdateSet ); + void addImplicitConnections( SCH_SYMBOL* aSymbol, SCH_SCREEN* aScreen, bool aUpdateSet ); bool netHasPowerDriver( SCH_LINE* aLine, const wxString& aNetName ) const; @@ -198,15 +198,15 @@ private: // (named power pins in Eagle). struct EAGLE_MISSING_CMP { - EAGLE_MISSING_CMP( const SCH_COMPONENT* aComponent = nullptr ) - : cmp( aComponent ) + EAGLE_MISSING_CMP( const SCH_SYMBOL* aSymbol = nullptr ) + : cmp( aSymbol ) { } - ///< Link to the parent component - const SCH_COMPONENT* cmp; + ///< Link to the parent symbol + const SCH_SYMBOL* cmp; - /* Map of the component units: for each unit there is a flag saying + /* Map of the symbol units: for each unit there is a flag saying * whether the unit needs to be instantiated with appropriate net labels to * emulate implicit connections as is done in Eagle. */ @@ -215,7 +215,7 @@ private: REPORTER* m_reporter; ///< Reporter for warnings/errors - ///< Map references to missing component units data + ///< Map references to missing symbol units data std::map m_missingCmps; SCH_SHEET* m_rootSheet; ///< The root sheet of the schematic being loaded diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp b/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp index 7b43d0a21f..d62f2898fb 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp +++ b/eeschema/sch_plugins/kicad/sch_sexpr_parser.cpp @@ -44,7 +44,7 @@ #include #include #include -#include // CMP_ORIENT_XXX +#include // SYM_ORIENT_XXX #include #include #include @@ -2224,7 +2224,7 @@ void SCH_SEXPR_PARSER::ParseSchematic( SCH_SHEET* aSheet, bool aIsCopyableOnly, } -SCH_COMPONENT* SCH_SEXPR_PARSER::parseSchematicSymbol() +SCH_SYMBOL* SCH_SEXPR_PARSER::parseSchematicSymbol() { wxCHECK_MSG( CurTok() == T_symbol, nullptr, wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a symbol." ) ); @@ -2234,7 +2234,7 @@ SCH_COMPONENT* SCH_SEXPR_PARSER::parseSchematicSymbol() wxString error; wxString libName; SCH_FIELD* field; - std::unique_ptr symbol = std::make_unique(); + std::unique_ptr symbol = std::make_unique(); TRANSFORM transform; std::set fieldIDsRead; @@ -2313,9 +2313,9 @@ SCH_COMPONENT* SCH_SEXPR_PARSER::parseSchematicSymbol() token = NextTok(); if( token == T_x ) - symbol->SetOrientation( CMP_MIRROR_X ); + symbol->SetOrientation( SYM_MIRROR_X ); else if( token == T_y ) - symbol->SetOrientation( CMP_MIRROR_Y ); + symbol->SetOrientation( SYM_MIRROR_Y ); else Expecting( "x or y" ); diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_parser.h b/eeschema/sch_plugins/kicad/sch_sexpr_parser.h index 7674182066..e57482b796 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_parser.h +++ b/eeschema/sch_plugins/kicad/sch_sexpr_parser.h @@ -2,6 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 CERN + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * * @author Wayne Stambaugh * @@ -49,7 +50,7 @@ class LIB_TEXT; class PAGE_INFO; class SCH_BITMAP; class SCH_BUS_WIRE_ENTRY; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; class SCH_JUNCTION; class SCH_LINE; @@ -172,7 +173,7 @@ class SCH_SEXPR_PARSER : public SCHEMATIC_LEXER SCH_SHEET_PIN* parseSchSheetPin( SCH_SHEET* aSheet ); SCH_FIELD* parseSchField( SCH_ITEM* aParent ); - SCH_COMPONENT* parseSchematicSymbol(); + SCH_SYMBOL* parseSchematicSymbol(); SCH_BITMAP* parseImage(); SCH_SHEET* parseSheet(); SCH_JUNCTION* parseJunction(); diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp index 6527781bb8..01b7a998ad 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp +++ b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.cpp @@ -34,7 +34,7 @@ #include #include #include -#include // COMPONENT_ORIENTATION_T +#include // SYMBOL_ORIENTATION_T #include #include #include @@ -299,7 +299,7 @@ class SCH_SEXPR_PLUGIN_CACHE bool m_isWritable; bool m_isModified; int m_versionMajor; - SCH_LIB_TYPE m_libType; // Is this cache a component or symbol library. + SCH_LIB_TYPE m_libType; // Is this cache a symbol or symbol library. LIB_PART* removeSymbol( LIB_PART* aAlias ); @@ -630,7 +630,7 @@ void SCH_SEXPR_PLUGIN::Format( SCH_SHEET* aSheet ) { itemType = item->Type(); - if( itemType != SCH_COMPONENT_T + if( itemType != SCH_SYMBOL_T && itemType != SCH_JUNCTION_T && itemType != SCH_SHEET_T ) m_out->Print( 0, "\n" ); @@ -638,9 +638,9 @@ void SCH_SEXPR_PLUGIN::Format( SCH_SHEET* aSheet ) switch( item->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: m_out->Print( 0, "\n" ); - saveSymbol( static_cast( item ), nullptr, 1 ); + saveSymbol( static_cast( item ), nullptr, 1 ); break; case SCH_BITMAP_T: @@ -741,10 +741,10 @@ void SCH_SEXPR_PLUGIN::Format( EE_SELECTION* aSelection, SCH_SHEET_PATH* aSelect wxCHECK2( item, continue ); - if( item->Type() != SCH_COMPONENT_T ) + if( item->Type() != SCH_SYMBOL_T ) continue; - SCH_COMPONENT* symbol = dynamic_cast( item ); + SCH_SYMBOL* symbol = dynamic_cast( item ); wxCHECK2( symbol, continue ); @@ -781,10 +781,10 @@ void SCH_SEXPR_PLUGIN::Format( EE_SELECTION* aSelection, SCH_SHEET_PATH* aSelect switch( item->Type() ) { - case SCH_COMPONENT_T: - saveSymbol( static_cast( item ), aSelectionPath, 0 ); + case SCH_SYMBOL_T: + saveSymbol( static_cast( item ), aSelectionPath, 0 ); - aSelectionPath->AppendSymbol( selectedSymbols, static_cast( item ), + aSelectionPath->AppendSymbol( selectedSymbols, static_cast( item ), true, true ); break; @@ -861,7 +861,7 @@ void SCH_SEXPR_PLUGIN::Format( EE_SELECTION* aSelection, SCH_SHEET_PATH* aSelect } -void SCH_SEXPR_PLUGIN::saveSymbol( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aSheetPath, +void SCH_SEXPR_PLUGIN::saveSymbol( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheetPath, int aNestLevel ) { wxCHECK_RET( aSymbol != nullptr && m_out != nullptr, "" ); @@ -883,13 +883,13 @@ void SCH_SEXPR_PLUGIN::saveSymbol( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aShee } double angle; - int orientation = aSymbol->GetOrientation() & ~( CMP_MIRROR_X | CMP_MIRROR_Y ); + int orientation = aSymbol->GetOrientation() & ~( SYM_MIRROR_X | SYM_MIRROR_Y ); - if( orientation == CMP_ORIENT_90 ) + if( orientation == SYM_ORIENT_90 ) angle = 90.0; - else if( orientation == CMP_ORIENT_180 ) + else if( orientation == SYM_ORIENT_180 ) angle = 180.0; - else if( orientation == CMP_ORIENT_270 ) + else if( orientation == SYM_ORIENT_270 ) angle = 270.0; else angle = 0.0; @@ -908,8 +908,8 @@ void SCH_SEXPR_PLUGIN::saveSymbol( SCH_COMPONENT* aSymbol, SCH_SHEET_PATH* aShee FormatInternalUnits( aSymbol->GetPosition().y ).c_str(), FormatAngle( angle * 10.0 ).c_str() ); - bool mirrorX = aSymbol->GetOrientation() & CMP_MIRROR_X; - bool mirrorY = aSymbol->GetOrientation() & CMP_MIRROR_Y; + bool mirrorX = aSymbol->GetOrientation() & SYM_MIRROR_X; + bool mirrorY = aSymbol->GetOrientation() & SYM_MIRROR_Y; if( mirrorX || mirrorY ) { @@ -984,7 +984,7 @@ void SCH_SEXPR_PLUGIN::saveField( SCH_FIELD* aField, int aNestLevel ) // For some reason (bug in legacy parser?) the field ID for non-mandatory fields is -1 so // check for this in order to correctly use the field name. - if( aField->GetParent()->Type() == SCH_COMPONENT_T ) + if( aField->GetParent()->Type() == SCH_SYMBOL_T ) { if( aField->GetId() >= 0 && aField->GetId() < MANDATORY_FIELDS ) fieldName = TEMPLATE_FIELDNAME::GetDefaultFieldName( aField->GetId(), false ); @@ -2110,7 +2110,7 @@ void SCH_SEXPR_PLUGIN::cacheLib( const wxString& aLibraryFileName, const PROPERT m_cache = new SCH_SEXPR_PLUGIN_CACHE( aLibraryFileName ); // Because m_cache is rebuilt, increment PART_LIBS::s_modify_generation - // to modify the hash value that indicate component to symbol links + // to modify the hash value that indicate symbol to symbol links // must be updated. PART_LIBS::IncrementModifyGeneration(); diff --git a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.h b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.h index 0be43866c0..fbe85becfa 100644 --- a/eeschema/sch_plugins/kicad/sch_sexpr_plugin.h +++ b/eeschema/sch_plugins/kicad/sch_sexpr_plugin.h @@ -5,6 +5,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2020 CERN + * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * * @author Wayne Stambaugh * @@ -40,7 +41,7 @@ class SCH_NO_CONNECT; class SCH_LINE; class SCH_BUS_ENTRY_BASE; class SCH_TEXT; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; struct SYMBOL_INSTANCE_REFERENCE; class PROPERTIES; @@ -134,7 +135,7 @@ private: void loadHierarchy( SCH_SHEET* aSheet ); void loadFile( const wxString& aFileName, SCH_SHEET* aSheet ); - void saveSymbol( SCH_COMPONENT* aComponent, SCH_SHEET_PATH* aSheetPath, int aNestLevel ); + void saveSymbol( SCH_SYMBOL* aComponent, SCH_SHEET_PATH* aSheetPath, int aNestLevel ); void saveField( SCH_FIELD* aField, int aNestLevel ); void saveBitmap( SCH_BITMAP* aBitmap, int aNestLevel ); void saveSheet( SCH_SHEET* aSheet, int aNestLevel ); diff --git a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp index 947e4f7d7a..cab55606b0 100644 --- a/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp +++ b/eeschema/sch_plugins/legacy/sch_legacy_plugin.cpp @@ -433,7 +433,7 @@ static void parseQuotedString( wxString& aString, LINE_READER& aReader, // Do not copy the escape byte if it is followed by \ or " if( *tmp != '"' && *tmp != '\\' ) - utf8 += '\\'; + utf8 += '\\'; utf8 += *tmp; } @@ -488,7 +488,7 @@ class SCH_LEGACY_PLUGIN_CACHE bool m_isModified; int m_versionMajor; int m_versionMinor; - SCH_LIB_TYPE m_libType; // Is this cache a component or symbol library. + SCH_LIB_TYPE m_libType; // Is this cache a symbol or symbol library. void loadHeader( FILE_LINE_READER& aReader ); static void loadAliases( std::unique_ptr& aPart, LINE_READER& aReader, @@ -1492,13 +1492,13 @@ SCH_TEXT* SCH_LEGACY_PLUGIN::loadText( LINE_READER& aReader ) } -SCH_COMPONENT* SCH_LEGACY_PLUGIN::loadSymbol( LINE_READER& aReader ) +SCH_SYMBOL* SCH_LEGACY_PLUGIN::loadSymbol( LINE_READER& aReader ) { const char* line = aReader.Line(); wxCHECK( strCompare( "$Comp", line, &line ), NULL ); - std::unique_ptr symbol = std::make_unique(); + std::unique_ptr symbol = std::make_unique(); line = aReader.ReadLine(); @@ -1672,7 +1672,7 @@ SCH_COMPONENT* SCH_LEGACY_PLUGIN::loadSymbol( LINE_READER& aReader ) if( index >= symbol->GetFieldCount() ) { - // The first MANDATOR_FIELDS _must_ be constructed within the SCH_COMPONENT + // The first MANDATOR_FIELDS _must_ be constructed within the SCH_SYMBOL // constructor. This assert is simply here to guard against a change in that // constructor. wxASSERT( symbol->GetFieldCount() >= MANDATORY_FIELDS ); @@ -1920,8 +1920,8 @@ void SCH_LEGACY_PLUGIN::Format( SCH_SHEET* aSheet ) { switch( item->Type() ) { - case SCH_COMPONENT_T: - saveComponent( static_cast( item ) ); + case SCH_SYMBOL_T: + saveSymbol( static_cast( item ) ); break; case SCH_BITMAP_T: saveBitmap( static_cast( item ) ); @@ -1967,8 +1967,8 @@ void SCH_LEGACY_PLUGIN::Format( SELECTION* aSelection, OUTPUTFORMATTER* aFormatt switch( item->Type() ) { - case SCH_COMPONENT_T: - saveComponent( static_cast< SCH_COMPONENT* >( item ) ); + case SCH_SYMBOL_T: + saveSymbol( static_cast< SCH_SYMBOL* >( item ) ); break; case SCH_BITMAP_T: saveBitmap( static_cast< SCH_BITMAP* >( item ) ); @@ -2002,7 +2002,7 @@ void SCH_LEGACY_PLUGIN::Format( SELECTION* aSelection, OUTPUTFORMATTER* aFormatt } -void SCH_LEGACY_PLUGIN::saveComponent( SCH_COMPONENT* aComponent ) +void SCH_LEGACY_PLUGIN::saveSymbol( SCH_SYMBOL* aSymbol ) { std::string name1; std::string name2; @@ -2010,20 +2010,20 @@ void SCH_LEGACY_PLUGIN::saveComponent( SCH_COMPONENT* aComponent ) static wxString delimiters( wxT( " " ) ); // This is redundant with the AR entries below, but it makes the files backwards-compatible. - if( aComponent->GetInstanceReferences().size() > 0 ) + if( aSymbol->GetInstanceReferences().size() > 0 ) { - const SYMBOL_INSTANCE_REFERENCE& instance = aComponent->GetInstanceReferences()[0]; + const SYMBOL_INSTANCE_REFERENCE& instance = aSymbol->GetInstanceReferences()[0]; name1 = toUTFTildaText( instance.m_Reference ); } else { - if( aComponent->GetField( REFERENCE_FIELD )->GetText().IsEmpty() ) - name1 = toUTFTildaText( aComponent->GetPrefix() ); + if( aSymbol->GetField( REFERENCE_FIELD )->GetText().IsEmpty() ) + name1 = toUTFTildaText( aSymbol->GetPrefix() ); else - name1 = toUTFTildaText( aComponent->GetField( REFERENCE_FIELD )->GetText() ); + name1 = toUTFTildaText( aSymbol->GetField( REFERENCE_FIELD )->GetText() ); } - wxString part_name = aComponent->GetLibId().Format(); + wxString part_name = aSymbol->GetLibId().Format(); if( part_name.size() ) { @@ -2039,23 +2039,23 @@ void SCH_LEGACY_PLUGIN::saveComponent( SCH_COMPONENT* aComponent ) // Generate unit number, conversion and timestamp m_out->Print( 0, "U %d %d %8.8X\n", - aComponent->GetUnit(), - aComponent->GetConvert(), - aComponent->m_Uuid.AsLegacyTimestamp() ); + aSymbol->GetUnit(), + aSymbol->GetConvert(), + aSymbol->m_Uuid.AsLegacyTimestamp() ); // Save the position m_out->Print( 0, "P %d %d\n", - Iu2Mils( aComponent->GetPosition().x ), - Iu2Mils( aComponent->GetPosition().y ) ); + Iu2Mils( aSymbol->GetPosition().x ), + Iu2Mils( aSymbol->GetPosition().y ) ); /* If this is a complex hierarchy; save hierarchical references. * but for simple hierarchies it is not necessary. * the reference inf is already saved * this is useful for old Eeschema version compatibility */ - if( aComponent->GetInstanceReferences().size() > 1 ) + if( aSymbol->GetInstanceReferences().size() > 1 ) { - for( const SYMBOL_INSTANCE_REFERENCE& instance : aComponent->GetInstanceReferences() ) + for( const SYMBOL_INSTANCE_REFERENCE& instance : aSymbol->GetInstanceReferences() ) { /*format: * AR Path="/140/2" Ref="C99" Part="1" @@ -2071,36 +2071,36 @@ void SCH_LEGACY_PLUGIN::saveComponent( SCH_COMPONENT* aComponent ) path += instance.m_Path[i].AsLegacyTimestampString() + "/"; m_out->Print( 0, "AR Path=\"%s\" Ref=\"%s\" Part=\"%d\" \n", - TO_UTF8( path + aComponent->m_Uuid.AsLegacyTimestampString() ), + TO_UTF8( path + aSymbol->m_Uuid.AsLegacyTimestampString() ), TO_UTF8( instance.m_Reference ), instance.m_Unit ); } } // update the ugly field id, which I would like to see go away someday soon. - for( int i = 0; i < aComponent->GetFieldCount(); ++i ) - aComponent->GetFields()[i].SetId( i ); + for( int i = 0; i < aSymbol->GetFieldCount(); ++i ) + aSymbol->GetFields()[i].SetId( i ); // Fixed fields: // Save mandatory fields even if they are blank, // because the visibility, size and orientation are set from library editor. for( unsigned i = 0; i < MANDATORY_FIELDS; ++i ) - saveField( &aComponent->GetFields()[i] ); + saveField( &aSymbol->GetFields()[i] ); // User defined fields: // The *policy* about which user defined fields are part of a symbol is now // only in the dialog editors. No policy should be enforced here, simply // save all the user defined fields, they are present because a dialog editor // thought they should be. If you disagree, go fix the dialog editors. - for( int i = MANDATORY_FIELDS; i < aComponent->GetFieldCount(); ++i ) - saveField( &aComponent->GetFields()[i] ); + for( int i = MANDATORY_FIELDS; i < aSymbol->GetFieldCount(); ++i ) + saveField( &aSymbol->GetFields()[i] ); // Unit number, position, box ( old standard ) - m_out->Print( 0, "\t%-4d %-4d %-4d\n", aComponent->GetUnit(), - Iu2Mils( aComponent->GetPosition().x ), - Iu2Mils( aComponent->GetPosition().y ) ); + m_out->Print( 0, "\t%-4d %-4d %-4d\n", aSymbol->GetUnit(), + Iu2Mils( aSymbol->GetPosition().x ), + Iu2Mils( aSymbol->GetPosition().y ) ); - TRANSFORM transform = aComponent->GetTransform(); + TRANSFORM transform = aSymbol->GetTransform(); m_out->Print( 0, "\t%-4d %-4d %-4d %-4d\n", transform.x1, transform.y1, transform.x2, transform.y2 ); @@ -2581,7 +2581,7 @@ void SCH_LEGACY_PLUGIN_CACHE::Load() // Old .sym files (which are libraries with only one symbol, used to store and reuse shapes) // EESchema-LIB Version x.x SYMBOL. They are valid files. if( !strCompare( "EESchema-LIB Version", line, &line ) ) - SCH_PARSE_ERROR( "file is not a valid component or symbol library file", reader, line ); + SCH_PARSE_ERROR( "file is not a valid symbol or symbol library file", reader, line ); } m_versionMajor = parseInt( reader, line, &line ); @@ -2596,7 +2596,7 @@ void SCH_LEGACY_PLUGIN_CACHE::Load() if( m_versionMajor < 1 || m_versionMinor < 0 || m_versionMinor > 99 ) SCH_PARSE_ERROR( "invalid file version in header", reader, line ); - // Check if this is a symbol library which is the same as a component library but without + // Check if this is a symbol library which is the same as a symbol library but without // any alias, documentation, footprint filters, etc. if( strCompare( "SYMBOL", line, &line ) ) { @@ -2895,7 +2895,7 @@ LIB_PART* SCH_LEGACY_PLUGIN_CACHE::LoadPart( LINE_READER& aReader, int aMajorVer pos += tmp.size() + 1; } - // There is the optional power component flag. + // There is the optional power symbol flag. if( tokens.HasMoreTokens() ) { tmp = tokens.GetNextToken(); @@ -3008,7 +3008,7 @@ void SCH_LEGACY_PLUGIN_CACHE::loadField( std::unique_ptr& aPart, field = aPart->GetFieldById( id ); // this will fire only if somebody broke a constructor or editor. - // MANDATORY_FIELDS are always present in ram resident components, no + // MANDATORY_FIELDS are always present in ram resident symbols, no // exceptions, and they always have their names set, even fixed fields. wxASSERT( field ); } @@ -3198,7 +3198,7 @@ void SCH_LEGACY_PLUGIN_CACHE::loadDrawEntries( std::unique_ptr& aPart, line = aReader.ReadLine(); } - SCH_PARSE_ERROR( "file ended prematurely loading component draw element", aReader, line ); + SCH_PARSE_ERROR( "file ended prematurely loading symbol draw element", aReader, line ); } @@ -3362,7 +3362,7 @@ LIB_TEXT* SCH_LEGACY_PLUGIN_CACHE::loadText( std::unique_ptr& aPart, // Here things are murky and not well defined. At some point it appears the format // was changed to add text properties. However rather than add the token to the end of // the text definition, it was added after the string and no mention if the file - // verion was bumped or not so this code make break on very old component libraries. + // verion was bumped or not so this code make break on very old symbol libraries. // // Update: apparently even in the latest version this can be different so added a test // for end of line before checking for the text properties. @@ -3771,7 +3771,7 @@ void SCH_LEGACY_PLUGIN_CACHE::SaveSymbol( LIB_PART* aSymbol, OUTPUTFORMATTER& aF LIB_FIELD& value = aSymbol->GetValueField(); - // First line: it s a comment (component name for readers) + // First line: it s a comment (symbol name for readers) aFormatter.Print( 0, "#\n# %s\n#\n", TO_UTF8( value.GetText() ) ); // Save data @@ -4212,7 +4212,7 @@ void SCH_LEGACY_PLUGIN::cacheLib( const wxString& aLibraryFileName, const PROPER m_cache = new SCH_LEGACY_PLUGIN_CACHE( aLibraryFileName ); // Because m_cache is rebuilt, increment PART_LIBS::s_modify_generation - // to modify the hash value that indicate component to symbol links + // to modify the hash value that indicate symbol to symbol links // must be updated. PART_LIBS::IncrementModifyGeneration(); diff --git a/eeschema/sch_plugins/legacy/sch_legacy_plugin.h b/eeschema/sch_plugins/legacy/sch_legacy_plugin.h index fcf8043773..d66eadf23b 100644 --- a/eeschema/sch_plugins/legacy/sch_legacy_plugin.h +++ b/eeschema/sch_plugins/legacy/sch_legacy_plugin.h @@ -5,7 +5,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2016 CERN - * Copyright (C) 2016-2019 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2016-2021 KiCad Developers, see change_log.txt for contributors. * * @author Wayne Stambaugh * @@ -39,7 +39,7 @@ class SCH_NO_CONNECT; class SCH_LINE; class SCH_BUS_ENTRY_BASE; class SCH_TEXT; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_FIELD; class PROPERTIES; class SELECTION; @@ -150,10 +150,10 @@ private: SCH_LINE* loadWire( LINE_READER& aReader ); SCH_BUS_ENTRY_BASE* loadBusEntry( LINE_READER& aReader ); SCH_TEXT* loadText( LINE_READER& aReader ); - SCH_COMPONENT* loadSymbol( LINE_READER& aReader ); + SCH_SYMBOL* loadSymbol( LINE_READER& aReader ); std::shared_ptr loadBusAlias( LINE_READER& aReader, SCH_SCREEN* aScreen ); - void saveComponent( SCH_COMPONENT* aComponent ); + void saveSymbol( SCH_SYMBOL* aSymbol ); void saveField( SCH_FIELD* aField ); void saveBitmap( SCH_BITMAP* aBitmap ); void saveSheet( SCH_SHEET* aSheet ); diff --git a/eeschema/sch_reference_list.h b/eeschema/sch_reference_list.h index 05fc421d83..bc2e4c1760 100644 --- a/eeschema/sch_reference_list.h +++ b/eeschema/sch_reference_list.h @@ -57,11 +57,11 @@ public: m_sheetNum = 0; } - SCH_REFERENCE( SCH_COMPONENT* aSymbol, LIB_PART* aLibPart, const SCH_SHEET_PATH& aSheetPath ); + SCH_REFERENCE( SCH_SYMBOL* aSymbol, LIB_PART* aLibPart, const SCH_SHEET_PATH& aSheetPath ); - SCH_COMPONENT* GetSymbol() const { return m_rootSymbol; } + SCH_SYMBOL* GetSymbol() const { return m_rootSymbol; } - LIB_PART* GetLibPart() const { return m_libPart; } + LIB_PART* GetLibPart() const { return m_libPart; } const SCH_SHEET_PATH& GetSheetPath() const { return m_sheetPath; } @@ -169,7 +169,7 @@ private: /// Symbol reference prefix, without number (for IC1, this is IC) ) UTF8 m_ref; // it's private, use the accessors please - SCH_COMPONENT* m_rootSymbol; ///< The symbol associated the reference object. + SCH_SYMBOL* m_rootSymbol; ///< The symbol associated the reference object. LIB_PART* m_libPart; ///< The source symbol from a library. wxPoint m_symbolPos; ///< The physical position of the symbol in schematic ///< used to annotate by X or Y position diff --git a/eeschema/sch_rtree.h b/eeschema/sch_rtree.h index 33407a5db3..f18cfc74ef 100644 --- a/eeschema/sch_rtree.h +++ b/eeschema/sch_rtree.h @@ -171,7 +171,7 @@ public: * The #EE_TYPE struct provides a type-specific auto-range iterator to the RTree. Using * this struct, one can write lines like: * - * for( auto item : rtree.OfType( SCH_COMPONENT_T ) ) + * for( auto item : rtree.OfType( SCH_SYMBOL_T ) ) * * and iterate over the RTree items that are symbols only */ diff --git a/eeschema/sch_screen.cpp b/eeschema/sch_screen.cpp index b3faf6b29c..9ac1ba476b 100644 --- a/eeschema/sch_screen.cpp +++ b/eeschema/sch_screen.cpp @@ -148,9 +148,9 @@ void SCH_SCREEN::Append( SCH_ITEM* aItem ) // Ensure the item can reach the SCHEMATIC through this screen aItem->SetParent( this ); - if( aItem->Type() == SCH_COMPONENT_T ) + if( aItem->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( aItem ); + SCH_SYMBOL* symbol = static_cast( aItem ); if( symbol->GetPartRef() ) { @@ -262,15 +262,15 @@ bool SCH_SCREEN::Remove( SCH_ITEM* aItem ) bool retv = m_rtree.remove( aItem ); // Check if the library symbol for the removed schematic symbol is still required. - if( retv && aItem->Type() == SCH_COMPONENT_T ) + if( retv && aItem->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* removedSymbol = static_cast( aItem ); + SCH_SYMBOL* removedSymbol = static_cast( aItem ); bool removeUnusedLibSymbol = true; - for( SCH_ITEM* item : Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); if( removedSymbol->GetSchSymbolLibraryName() == symbol->GetSchSymbolLibraryName() ) { @@ -439,7 +439,7 @@ bool SCH_SCREEN::IsJunctionNeeded( const wxPoint& aPosition, bool aNew ) const break; case SCH_BUS_WIRE_ENTRY_T: - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: case SCH_SHEET_T: if( item->IsConnected( aPosition ) ) { @@ -541,14 +541,14 @@ void SCH_SCREEN::UpdateSymbolLinks( REPORTER* aReporter ) wxString msg; std::unique_ptr< LIB_PART > libSymbol; - std::vector symbols; + std::vector symbols; SYMBOL_LIB_TABLE* libs = Schematic()->Prj().SchSymbolLibTable(); // This will be a nullptr if an s-expression schematic is loaded. PART_LIBS* legacyLibs = Schematic()->Prj().SchLibs(); - for( auto item : Items().OfType( SCH_COMPONENT_T ) ) - symbols.push_back( static_cast( item ) ); + for( auto item : Items().OfType( SCH_SYMBOL_T ) ) + symbols.push_back( static_cast( item ) ); // Remove them from the R tree. There bounding box size may change. for( auto symbol : symbols ) @@ -692,12 +692,12 @@ void SCH_SCREEN::UpdateSymbolLinks( REPORTER* aReporter ) void SCH_SCREEN::UpdateLocalLibSymbolLinks() { - std::vector symbols; + std::vector symbols; - for( SCH_ITEM* item : Items().OfType( SCH_COMPONENT_T ) ) - symbols.push_back( static_cast( item ) ); + for( SCH_ITEM* item : Items().OfType( SCH_SYMBOL_T ) ) + symbols.push_back( static_cast( item ) ); - for( SCH_COMPONENT* symbol : symbols ) + for( SCH_SYMBOL* symbol : symbols ) { // Changing the symbol may adjust the bbox of the symbol; remove and reinsert it afterwards. m_rtree.remove( symbol ); @@ -716,8 +716,7 @@ void SCH_SCREEN::UpdateLocalLibSymbolLinks() } -void SCH_SCREEN::SwapSymbolLinks( const SCH_COMPONENT* aOriginalSymbol, - const SCH_COMPONENT* aNewSymbol ) +void SCH_SCREEN::SwapSymbolLinks( const SCH_SYMBOL* aOriginalSymbol, const SCH_SYMBOL* aNewSymbol ) { wxCHECK( aOriginalSymbol && aNewSymbol /* && m_rtree.contains( aOriginalSymbol, true ) */, /* void */ ); @@ -830,15 +829,15 @@ void SCH_SCREEN::ClearDrawingState() } -LIB_PIN* SCH_SCREEN::GetPin( const wxPoint& aPosition, SCH_COMPONENT** aSymbol, +LIB_PIN* SCH_SCREEN::GetPin( const wxPoint& aPosition, SCH_SYMBOL** aSymbol, bool aEndPointOnly ) const { - SCH_COMPONENT* candidate = NULL; - LIB_PIN* pin = NULL; + SCH_SYMBOL* candidate = NULL; + LIB_PIN* pin = NULL; - for( SCH_ITEM* item : Items().Overlapping( SCH_COMPONENT_T, aPosition ) ) + for( SCH_ITEM* item : Items().Overlapping( SCH_SYMBOL_T, aPosition ) ) { - candidate = static_cast( item ); + candidate = static_cast( item ); if( aEndPointOnly ) { @@ -917,9 +916,9 @@ size_t SCH_SCREEN::CountConnectedItems( const wxPoint& aPos, bool aTestJunctions void SCH_SCREEN::ClearAnnotation( SCH_SHEET_PATH* aSheetPath ) { - for( SCH_ITEM* item : Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); symbol->ClearAnnotation( aSheetPath ); } @@ -931,9 +930,9 @@ void SCH_SCREEN::EnsureAlternateReferencesExist() if( GetClientSheetPaths().size() <= 1 ) // No need for alternate reference return; - for( SCH_ITEM* item : Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); // Add (when not existing) all sheet path entries for( const SCH_SHEET_PATH& sheet : GetClientSheetPaths() ) @@ -944,7 +943,7 @@ void SCH_SCREEN::EnsureAlternateReferencesExist() void SCH_SCREEN::GetHierarchicalItems( std::vector* aItems ) const { - static KICAD_T hierarchicalTypes[] = { SCH_COMPONENT_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; + static KICAD_T hierarchicalTypes[] = { SCH_SYMBOL_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; for( SCH_ITEM* item : Items() ) { @@ -1326,10 +1325,10 @@ bool SCH_SCREENS::HasNoFullyDefinedLibIds() for( screen = GetFirst(); screen; screen = GetNext() ) { - for( auto item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : screen->Items().OfType( SCH_SYMBOL_T ) ) { cnt++; - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); if( !symbol->GetLibId().GetLibNickname().empty() ) return false; @@ -1344,10 +1343,10 @@ size_t SCH_SCREENS::GetLibNicknames( wxArrayString& aLibNicknames ) { for( SCH_SCREEN* screen = GetFirst(); screen; screen = GetNext() ) { - for( auto item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); - const UTF8& nickname = symbol->GetLibId().GetLibNickname(); + SCH_SYMBOL* symbol = static_cast( item ); + const UTF8& nickname = symbol->GetLibId().GetLibNickname(); if( !nickname.empty() && ( aLibNicknames.Index( nickname ) == wxNOT_FOUND ) ) aLibNicknames.Add( nickname ); @@ -1365,9 +1364,9 @@ int SCH_SCREENS::ChangeSymbolLibNickname( const wxString& aFrom, const wxString& for( screen = GetFirst(); screen; screen = GetNext() ) { - for( auto item : screen->Items().OfType( SCH_COMPONENT_T ) ) + for( auto item : screen->Items().OfType( SCH_SYMBOL_T ) ) { - auto symbol = static_cast( item ); + auto symbol = static_cast( item ); if( symbol->GetLibId().GetLibNickname() != aFrom ) continue; diff --git a/eeschema/sch_screen.h b/eeschema/sch_screen.h index 9242ed7811..5a4281450a 100644 --- a/eeschema/sch_screen.h +++ b/eeschema/sch_screen.h @@ -45,7 +45,7 @@ #include #include -#include // COMPONENT_INSTANCE_REFERENCE +#include // SYMBOL_INSTANCE_REFERENCE #include #include #include @@ -55,7 +55,7 @@ class BUS_ALIAS; class EDA_ITEM; class LIB_PART; class LIB_PIN; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_LINE; class SCH_TEXT; class PLOTTER; @@ -203,7 +203,7 @@ public: KICAD_T aType = SCH_LOCATE_ANY_T ) const; /** - * Initialize the #LIB_PART reference for each #SCH_COMPONENT found in this schematic + * Initialize the #LIB_PART reference for each #SCH_SYMBOL found in this schematic * from the project #SYMBOL_LIB_TABLE. * * Symbol library links are set using the symbol library table and will fall back to @@ -220,12 +220,12 @@ public: void UpdateSymbolLinks( REPORTER* aReporter = nullptr ); /** - * Initialize the #LIB_PART reference for each #SCH_COMPONENT found in this schematic + * Initialize the #LIB_PART reference for each #SCH_SYMBOL found in this schematic * with the local project library symbols. */ void UpdateLocalLibSymbolLinks(); - void SwapSymbolLinks( const SCH_COMPONENT* aOriginalSymbol, const SCH_COMPONENT* aNewSymbol ); + void SwapSymbolLinks( const SCH_SYMBOL* aOriginalSymbol, const SCH_SYMBOL* aNewSymbol ); /** * Print all the items in the screen to \a aDC. @@ -284,7 +284,7 @@ public: /** * Return all wires and junctions connected to \a aSegment which are not connected any - * component pin. + * symbol pin. * * @param aSegment The segment to test for connections. */ @@ -303,8 +303,8 @@ public: * A junction is required at \a aPosition if one of the following criteria is satisfied: * - One wire midpoint and one or more wire endpoints. * - Three or more wire endpoints. - * - One wire midpoint and a component pin. - * - Two or more wire endpoints and a component pin. + * - One wire midpoint and a symbol pin. + * - Two or more wire endpoints and a symbol pin. * * @param[in] aPosition The position to test. * @param aNew Checks if a _new_ junction is needed, i.e. there isn't one already @@ -323,15 +323,15 @@ public: bool IsTerminalPoint( const wxPoint& aPosition, int aLayer ) const; /** - * Test the screen for a component pin item at \a aPosition. + * Test the screen for a symbol pin item at \a aPosition. * * @param[in] aPosition Position to test. - * @param[out] aSymbol The component if a pin was found, otherwise NULL. + * @param[out] aSymbol The symbol if a pin was found, otherwise NULL. * @param aEndPointOnly Set to true to test if \a aPosition is the connection * point of the pin. * @return The pin item if found, otherwise NULL. */ - LIB_PIN* GetPin( const wxPoint& aPosition, SCH_COMPONENT** aSymbol = NULL, + LIB_PIN* GetPin( const wxPoint& aPosition, SCH_SYMBOL** aSymbol = nullptr, bool aEndPointOnly = false ) const; /** @@ -343,9 +343,9 @@ public: SCH_SHEET_PIN* GetSheetPin( const wxPoint& aPosition ) const; /** - * Clear the annotation for the components in \a aSheetPath on the screen. + * Clear the annotation for the symbols in \a aSheetPath on the screen. * - * @param[in] aSheetPath The sheet path of the component annotation to clear. If NULL then + * @param[in] aSheetPath The sheet path of the symbol annotation to clear. If NULL then * the entire hierarchy is cleared. */ void ClearAnnotation( SCH_SHEET_PATH* aSheetPath ); @@ -353,7 +353,7 @@ public: /** * For screens shared by many sheetpaths (complex hierarchies): * to be able to clear or modify any reference related sharing this screen - * (i.e. the list of components), an entry for each screen path must exist. + * (i.e. the list of symbols), an entry for each screen path must exist. * This function creates missing entries, using as default reference the current * reference field and unit number * Note: m_clientSheetPathList must be up to date @@ -362,7 +362,7 @@ public: void EnsureAlternateReferencesExist(); /** - * Add all schematic sheet and component objects in the screen to \a aItems. + * Add all schematic sheet and symbol objects in the screen to \a aItems. * * @param[out] aItems Hierarchical item list to fill. */ @@ -411,7 +411,7 @@ public: /** * Fetch a list of unique #LIB_PART object pointers required to properly render each - * #SCH_COMPONENT in this schematic. + * #SCH_SYMBOL in this schematic. * * @return The list of unique #LIB_PART object pointers. */ @@ -517,7 +517,7 @@ private: * * This list is only used to as temporary storage when the schematic file is loaded. * If the screen is the root sheet, then this information is used to update the - * #SCH_COMPONENT instance reference and unit information after the entire schematic + * #SCH_SYMBOL instance reference and unit information after the entire schematic * is loaded and is never used again. If this screen is not the root sheet, then the * schematic file is the root sheet of another project and this information is saved * unchanged back to the schematic file. @@ -561,7 +561,7 @@ public: SCH_SHEET* GetSheet( unsigned int aIndex ) const; /** - * Clear the annotation for the components inside new sheetpaths + * Clear the annotation for the symbols inside new sheetpaths * when a complex hierarchy is modified and new sheetpaths added * when a screen shares more than one sheet path, missing alternate references are added * and alternate references of new sheet paths are cleared @@ -571,10 +571,10 @@ public: void ClearAnnotationOfNewSheetPaths( SCH_SHEET_LIST& aInitialSheetPathList ); /** - * Test all sheet and component objects in the schematic for duplicate time stamps + * Test all sheet and symbol objects in the schematic for duplicate time stamps * and replaces them as necessary. * - * Time stamps must be unique in order for complex hierarchies know which components go + * Time stamps must be unique in order for complex hierarchies know which symbols go * to which sheets. * * @return The number of duplicate time stamps replaced. @@ -601,7 +601,7 @@ public: void DeleteMarker( SCH_MARKER* aMarker ); /** - * Initialize the #LIB_PART reference for each #SCH_COMPONENT found in the full schematic. + * Initialize the #LIB_PART reference for each #SCH_SYMBOL found in the full schematic. * * @note This should only be called when the user specifically requests all library symbol * links to be update or when the legacy schematic is opened for the last time. All diff --git a/eeschema/sch_sheet.cpp b/eeschema/sch_sheet.cpp index 9a656121af..805bfc074f 100644 --- a/eeschema/sch_sheet.cpp +++ b/eeschema/sch_sheet.cpp @@ -611,9 +611,9 @@ int SCH_SHEET::SymbolCount() const if( m_screen ) { - for( SCH_ITEM* aItem : m_screen->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* aItem : m_screen->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = (SCH_COMPONENT*) aItem; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) aItem; if( symbol->GetField( VALUE_FIELD )->GetText().GetChar( 0 ) != '#' ) n++; diff --git a/eeschema/sch_sheet.h b/eeschema/sch_sheet.h index e9c1e2e8dc..c90f5d1659 100644 --- a/eeschema/sch_sheet.h +++ b/eeschema/sch_sheet.h @@ -357,7 +357,7 @@ public: return ( aItem->Type() == SCH_LINE_T && aItem->GetLayer() == LAYER_WIRE ) || ( aItem->Type() == SCH_LINE_T && aItem->GetLayer() == LAYER_BUS ) || ( aItem->Type() == SCH_NO_CONNECT_T ) - || ( aItem->Type() == SCH_COMPONENT_T ); + || ( aItem->Type() == SCH_SYMBOL_T ); } std::vector GetConnectionPoints() const override; diff --git a/eeschema/sch_sheet_path.cpp b/eeschema/sch_sheet_path.cpp index 5d6a8d4f5c..b764325719 100644 --- a/eeschema/sch_sheet_path.cpp +++ b/eeschema/sch_sheet_path.cpp @@ -286,9 +286,9 @@ wxString SCH_SHEET_PATH::PathHumanReadable( bool aUseShortRootName ) const void SCH_SHEET_PATH::UpdateAllScreenReferences() { - for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); symbol->GetField( REFERENCE_FIELD )->SetText( symbol->GetRef( this ) ); symbol->GetField( VALUE_FIELD )->SetText( symbol->GetValue( this, false ) ); symbol->GetField( FOOTPRINT_FIELD )->SetText( symbol->GetFootprint( this, false ) ); @@ -301,15 +301,15 @@ void SCH_SHEET_PATH::UpdateAllScreenReferences() void SCH_SHEET_PATH::GetSymbols( SCH_REFERENCE_LIST& aReferences, bool aIncludePowerSymbols, bool aForceIncludeOrphanSymbols ) const { - for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); AppendSymbol( aReferences, symbol, aIncludePowerSymbols, aForceIncludeOrphanSymbols ); } } -void SCH_SHEET_PATH::AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_COMPONENT* aSymbol, +void SCH_SHEET_PATH::AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_SYMBOL* aSymbol, bool aIncludePowerSymbols, bool aForceIncludeOrphanSymbols ) const { @@ -333,16 +333,16 @@ void SCH_SHEET_PATH::AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_COMPONEN void SCH_SHEET_PATH::GetMultiUnitSymbols( SCH_MULTI_UNIT_REFERENCE_MAP& aRefList, bool aIncludePowerSymbols ) const { - for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); AppendMultiUnitSymbol( aRefList, symbol, aIncludePowerSymbols ); } } void SCH_SHEET_PATH::AppendMultiUnitSymbol( SCH_MULTI_UNIT_REFERENCE_MAP& aRefList, - SCH_COMPONENT* aSymbol, + SCH_SYMBOL* aSymbol, bool aIncludePowerSymbols ) const { // Skip pseudo-symbols, which have a reference starting with #. This mainly @@ -713,10 +713,10 @@ void SCH_SHEET_LIST::AnnotatePowerSymbols() // Build the list of power symbols: for( SCH_SHEET_PATH& sheet : *this ) { - for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* item : sheet.LastScreen()->Items().OfType( SCH_SYMBOL_T ) ) { - SCH_COMPONENT* symbol = static_cast( item ); - LIB_PART* part = symbol->GetPartRef().get(); + SCH_SYMBOL* symbol = static_cast( item ); + LIB_PART* part = symbol->GetPartRef().get(); if( part && part->IsPower() ) { @@ -899,7 +899,7 @@ void SCH_SHEET_LIST::UpdateSymbolInstances( std::map pathNameCache; - // Calculating the name of a path is somewhat expensive; on large designs with many components + // Calculating the name of a path is somewhat expensive; on large designs with many symbols // this can blow up to a serious amount of time when loading the schematic auto getName = [&pathNameCache]( const KIID_PATH& aPath ) -> const wxString& { @@ -928,7 +928,7 @@ void SCH_SHEET_LIST::UpdateSymbolInstances( continue; } - SCH_COMPONENT* symbol = symbolInstances[ i ].GetSymbol(); + SCH_SYMBOL* symbol = symbolInstances[ i ].GetSymbol(); wxCHECK2( symbol, continue ); diff --git a/eeschema/sch_sheet_path.h b/eeschema/sch_sheet_path.h index 8019fd0aab..a30f2c28b6 100644 --- a/eeschema/sch_sheet_path.h +++ b/eeschema/sch_sheet_path.h @@ -107,7 +107,7 @@ class SCH_SHEET; class SCH_SCREEN; class SCH_MARKER; class SCH_ITEM; -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_REFERENCE_LIST; @@ -293,7 +293,7 @@ public: * in lib. The normal option is false, and set to true * only to build the full list of symbols. */ - void AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_COMPONENT* aSymbol, + void AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_SYMBOL* aSymbol, bool aIncludePowerSymbols = true, bool aForceIncludeOrphanSymbols = false ) const; @@ -319,7 +319,7 @@ public: * @param aSymbol A symbol to add to aRefList * @param aIncludePowerSymbols Set to false to only get normal symbols. */ - void AppendMultiUnitSymbol( SCH_MULTI_UNIT_REFERENCE_MAP& aRefList, SCH_COMPONENT* aSymbol, + void AppendMultiUnitSymbol( SCH_MULTI_UNIT_REFERENCE_MAP& aRefList, SCH_SYMBOL* aSymbol, bool aIncludePowerSymbols = true ) const; /** diff --git a/eeschema/sch_symbol.cpp b/eeschema/sch_symbol.cpp index 57a529c4fd..a3ade4eba8 100644 --- a/eeschema/sch_symbol.cpp +++ b/eeschema/sch_symbol.cpp @@ -93,17 +93,16 @@ static LIB_PART* dummy() } -SCH_COMPONENT::SCH_COMPONENT( const wxPoint& aPos, SCH_ITEM* aParent ) : - SCH_ITEM( aParent, SCH_COMPONENT_T ) +SCH_SYMBOL::SCH_SYMBOL( const wxPoint& aPos, SCH_ITEM* aParent ) : + SCH_ITEM( aParent, SCH_SYMBOL_T ) { Init( aPos ); } -SCH_COMPONENT::SCH_COMPONENT( const LIB_PART& aPart, const LIB_ID& aLibId, - const SCH_SHEET_PATH* aSheet, - int unit, int convert, const wxPoint& pos ) : - SCH_ITEM( NULL, SCH_COMPONENT_T ) +SCH_SYMBOL::SCH_SYMBOL( const LIB_PART& aPart, const LIB_ID& aLibId, const SCH_SHEET_PATH* aSheet, + int unit, int convert, const wxPoint& pos ) : + SCH_ITEM( NULL, SCH_SYMBOL_T ) { Init( pos ); @@ -119,11 +118,11 @@ SCH_COMPONENT::SCH_COMPONENT( const LIB_PART& aPart, const LIB_ID& aLibId, // Copy fields from the library symbol UpdateFields( aSheet, - true, /* update style */ - false, /* update ref */ - false, /* update other fields */ - true, /* reset ref */ - true /* reset other fields */ ); + true, /* update style */ + false, /* update ref */ + false, /* update other fields */ + true, /* reset ref */ + true /* reset other fields */ ); m_prefix = UTIL::GetRefDesPrefix( m_part->GetReferenceField().GetText() ); @@ -136,9 +135,9 @@ SCH_COMPONENT::SCH_COMPONENT( const LIB_PART& aPart, const LIB_ID& aLibId, } -SCH_COMPONENT::SCH_COMPONENT( const LIB_PART& aPart, const SCH_SHEET_PATH* aSheet, - const PICKED_SYMBOL& aSel, const wxPoint& pos ) : - SCH_COMPONENT( aPart, aSel.LibId, aSheet, aSel.Unit, aSel.Convert, pos ) +SCH_SYMBOL::SCH_SYMBOL( const LIB_PART& aPart, const SCH_SHEET_PATH* aSheet, + const PICKED_SYMBOL& aSel, const wxPoint& pos ) : + SCH_SYMBOL( aPart, aSel.LibId, aSheet, aSel.Unit, aSel.Convert, pos ) { // Set any fields that were modified as part of the symbol selection for( const std::pair& i : aSel.Fields ) @@ -151,7 +150,7 @@ SCH_COMPONENT::SCH_COMPONENT( const LIB_PART& aPart, const SCH_SHEET_PATH* aShee } -SCH_COMPONENT::SCH_COMPONENT( const SCH_COMPONENT& aSymbol ) : +SCH_SYMBOL::SCH_SYMBOL( const SCH_SYMBOL& aSymbol ) : SCH_ITEM( aSymbol ) { m_parent = aSymbol.m_parent; @@ -182,7 +181,7 @@ SCH_COMPONENT::SCH_COMPONENT( const SCH_COMPONENT& aSymbol ) : } -void SCH_COMPONENT::Init( const wxPoint& pos ) +void SCH_SYMBOL::Init( const wxPoint& pos ) { m_pos = pos; m_unit = 1; // In multi unit chip - which unit to draw. @@ -211,13 +210,13 @@ void SCH_COMPONENT::Init( const wxPoint& pos ) } -EDA_ITEM* SCH_COMPONENT::Clone() const +EDA_ITEM* SCH_SYMBOL::Clone() const { - return new SCH_COMPONENT( *this ); + return new SCH_SYMBOL( *this ); } -void SCH_COMPONENT::ViewGetLayers( int aLayers[], int& aCount ) const +void SCH_SYMBOL::ViewGetLayers( int aLayers[], int& aCount ) const { aCount = 3; aLayers[0] = LAYER_DEVICE; @@ -226,7 +225,7 @@ void SCH_COMPONENT::ViewGetLayers( int aLayers[], int& aCount ) const } -void SCH_COMPONENT::SetLibId( const LIB_ID& aLibId ) +void SCH_SYMBOL::SetLibId( const LIB_ID& aLibId ) { if( m_lib_id != aLibId ) { @@ -236,7 +235,7 @@ void SCH_COMPONENT::SetLibId( const LIB_ID& aLibId ) } -wxString SCH_COMPONENT::GetSchSymbolLibraryName() const +wxString SCH_SYMBOL::GetSchSymbolLibraryName() const { if( !m_schLibSymbolName.IsEmpty() ) return m_schLibSymbolName; @@ -245,7 +244,7 @@ wxString SCH_COMPONENT::GetSchSymbolLibraryName() const } -void SCH_COMPONENT::SetLibSymbol( LIB_PART* aLibSymbol ) +void SCH_SYMBOL::SetLibSymbol( LIB_PART* aLibSymbol ) { wxCHECK2( ( aLibSymbol == nullptr ) || ( aLibSymbol->IsRoot() ), aLibSymbol = nullptr ); @@ -254,7 +253,7 @@ void SCH_COMPONENT::SetLibSymbol( LIB_PART* aLibSymbol ) } -wxString SCH_COMPONENT::GetDescription() const +wxString SCH_SYMBOL::GetDescription() const { if( m_part ) return m_part->GetDescription(); @@ -263,7 +262,7 @@ wxString SCH_COMPONENT::GetDescription() const } -wxString SCH_COMPONENT::GetDatasheet() const +wxString SCH_SYMBOL::GetDatasheet() const { if( m_part ) return m_part->GetDatasheetField().GetText(); @@ -272,7 +271,7 @@ wxString SCH_COMPONENT::GetDatasheet() const } -void SCH_COMPONENT::UpdatePins() +void SCH_SYMBOL::UpdatePins() { std::map altPinMap; std::map pinUuidMap; @@ -319,7 +318,7 @@ void SCH_COMPONENT::UpdatePins() } -void SCH_COMPONENT::SetUnit( int aUnit ) +void SCH_SYMBOL::SetUnit( int aUnit ) { if( m_unit != aUnit ) { @@ -329,13 +328,13 @@ void SCH_COMPONENT::SetUnit( int aUnit ) } -void SCH_COMPONENT::UpdateUnit( int aUnit ) +void SCH_SYMBOL::UpdateUnit( int aUnit ) { m_unit = aUnit; } -void SCH_COMPONENT::SetConvert( int aConvert ) +void SCH_SYMBOL::SetConvert( int aConvert ) { if( m_convert != aConvert ) { @@ -348,7 +347,7 @@ void SCH_COMPONENT::SetConvert( int aConvert ) } -void SCH_COMPONENT::SetTransform( const TRANSFORM& aTransform ) +void SCH_SYMBOL::SetTransform( const TRANSFORM& aTransform ) { if( m_transform != aTransform ) { @@ -358,7 +357,7 @@ void SCH_COMPONENT::SetTransform( const TRANSFORM& aTransform ) } -int SCH_COMPONENT::GetUnitCount() const +int SCH_SYMBOL::GetUnitCount() const { if( m_part ) return m_part->GetUnitCount(); @@ -367,7 +366,7 @@ int SCH_COMPONENT::GetUnitCount() const } -void SCH_COMPONENT::Print( const RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) +void SCH_SYMBOL::Print( const RENDER_SETTINGS* aSettings, const wxPoint& aOffset ) { PART_DRAW_OPTIONS opts; opts.transform = m_transform; @@ -388,9 +387,9 @@ void SCH_COMPONENT::Print( const RENDER_SETTINGS* aSettings, const wxPoint& aOff } -void SCH_COMPONENT::AddHierarchicalReference( const KIID_PATH& aPath, const wxString& aRef, - int aUnit, const wxString& aValue, - const wxString& aFootprint ) +void SCH_SYMBOL::AddHierarchicalReference( const KIID_PATH& aPath, const wxString& aRef, + int aUnit, const wxString& aValue, + const wxString& aFootprint ) { // Search for an existing path and remove it if found (should not occur) for( unsigned ii = 0; ii < m_instanceReferences.size(); ii++ ) @@ -429,7 +428,7 @@ void SCH_COMPONENT::AddHierarchicalReference( const KIID_PATH& aPath, const wxSt } -const wxString SCH_COMPONENT::GetRef( const SCH_SHEET_PATH* sheet, bool aIncludeUnit ) const +const wxString SCH_SYMBOL::GetRef( const SCH_SHEET_PATH* sheet, bool aIncludeUnit ) const { KIID_PATH path = sheet->Path(); wxString ref; @@ -449,7 +448,7 @@ const wxString SCH_COMPONENT::GetRef( const SCH_SHEET_PATH* sheet, bool aInclude // the same symbol references, but perhaps this is best. if( ref.IsEmpty() && !GetField( REFERENCE_FIELD )->GetText().IsEmpty() ) { - const_cast( this )->SetRef( sheet, GetField( REFERENCE_FIELD )->GetText() ); + const_cast( this )->SetRef( sheet, GetField( REFERENCE_FIELD )->GetText() ); ref = GetField( REFERENCE_FIELD )->GetText(); } @@ -463,13 +462,13 @@ const wxString SCH_COMPONENT::GetRef( const SCH_SHEET_PATH* sheet, bool aInclude } -bool SCH_COMPONENT::IsReferenceStringValid( const wxString& aReferenceString ) +bool SCH_SYMBOL::IsReferenceStringValid( const wxString& aReferenceString ) { return !UTIL::GetRefDesPrefix( aReferenceString ).IsEmpty(); } -void SCH_COMPONENT::SetRef( const SCH_SHEET_PATH* sheet, const wxString& ref ) +void SCH_SYMBOL::SetRef( const SCH_SHEET_PATH* sheet, const wxString& ref ) { KIID_PATH path = sheet->Path(); bool notInArray = true; @@ -505,7 +504,7 @@ void SCH_COMPONENT::SetRef( const SCH_SHEET_PATH* sheet, const wxString& ref ) } -bool SCH_COMPONENT::IsAnnotated( const SCH_SHEET_PATH* aSheet ) +bool SCH_SYMBOL::IsAnnotated( const SCH_SHEET_PATH* aSheet ) { KIID_PATH path = aSheet->Path(); @@ -519,7 +518,7 @@ bool SCH_COMPONENT::IsAnnotated( const SCH_SHEET_PATH* aSheet ) } -int SCH_COMPONENT::GetUnitSelection( const SCH_SHEET_PATH* aSheet ) const +int SCH_SYMBOL::GetUnitSelection( const SCH_SHEET_PATH* aSheet ) const { KIID_PATH path = aSheet->Path(); @@ -535,7 +534,7 @@ int SCH_COMPONENT::GetUnitSelection( const SCH_SHEET_PATH* aSheet ) const } -void SCH_COMPONENT::SetUnitSelection( const SCH_SHEET_PATH* aSheet, int aUnitSelection ) +void SCH_SYMBOL::SetUnitSelection( const SCH_SHEET_PATH* aSheet, int aUnitSelection ) { KIID_PATH path = aSheet->Path(); @@ -554,14 +553,14 @@ void SCH_COMPONENT::SetUnitSelection( const SCH_SHEET_PATH* aSheet, int aUnitSel } -void SCH_COMPONENT::SetUnitSelection( int aUnitSelection ) +void SCH_SYMBOL::SetUnitSelection( int aUnitSelection ) { for( SYMBOL_INSTANCE_REFERENCE& instance : m_instanceReferences ) instance.m_Unit = aUnitSelection; } -const wxString SCH_COMPONENT::GetValue( const SCH_SHEET_PATH* sheet, bool aResolve ) const +const wxString SCH_SYMBOL::GetValue( const SCH_SHEET_PATH* sheet, bool aResolve ) const { KIID_PATH path = sheet->Path(); @@ -582,7 +581,7 @@ const wxString SCH_COMPONENT::GetValue( const SCH_SHEET_PATH* sheet, bool aResol } -void SCH_COMPONENT::SetValue( const SCH_SHEET_PATH* sheet, const wxString& aValue ) +void SCH_SYMBOL::SetValue( const SCH_SHEET_PATH* sheet, const wxString& aValue ) { if( sheet == nullptr ) { @@ -612,7 +611,7 @@ void SCH_COMPONENT::SetValue( const SCH_SHEET_PATH* sheet, const wxString& aValu } -const wxString SCH_COMPONENT::GetFootprint( const SCH_SHEET_PATH* sheet, bool aResolve ) const +const wxString SCH_SYMBOL::GetFootprint( const SCH_SHEET_PATH* sheet, bool aResolve ) const { KIID_PATH path = sheet->Path(); @@ -633,7 +632,7 @@ const wxString SCH_COMPONENT::GetFootprint( const SCH_SHEET_PATH* sheet, bool aR } -void SCH_COMPONENT::SetFootprint( const SCH_SHEET_PATH* sheet, const wxString& aFootprint ) +void SCH_SYMBOL::SetFootprint( const SCH_SHEET_PATH* sheet, const wxString& aFootprint ) { if( sheet == nullptr ) { @@ -663,19 +662,19 @@ void SCH_COMPONENT::SetFootprint( const SCH_SHEET_PATH* sheet, const wxString& a } -SCH_FIELD* SCH_COMPONENT::GetField( MANDATORY_FIELD_T aFieldType ) +SCH_FIELD* SCH_SYMBOL::GetField( MANDATORY_FIELD_T aFieldType ) { return &m_fields[aFieldType]; } -const SCH_FIELD* SCH_COMPONENT::GetField( MANDATORY_FIELD_T aFieldType ) const +const SCH_FIELD* SCH_SYMBOL::GetField( MANDATORY_FIELD_T aFieldType ) const { return &m_fields[aFieldType]; } -SCH_FIELD* SCH_COMPONENT::GetFieldById( int aFieldId ) +SCH_FIELD* SCH_SYMBOL::GetFieldById( int aFieldId ) { for( size_t ii = 0; ii < m_fields.size(); ++ii ) { @@ -687,7 +686,7 @@ SCH_FIELD* SCH_COMPONENT::GetFieldById( int aFieldId ) } -wxString SCH_COMPONENT::GetFieldText( const wxString& aFieldName, SCH_EDIT_FRAME* aFrame ) const +wxString SCH_SYMBOL::GetFieldText( const wxString& aFieldName, SCH_EDIT_FRAME* aFrame ) const { for( const SCH_FIELD& field : m_fields ) { @@ -699,7 +698,7 @@ wxString SCH_COMPONENT::GetFieldText( const wxString& aFieldName, SCH_EDIT_FRAME } -void SCH_COMPONENT::GetFields( std::vector& aVector, bool aVisibleOnly ) +void SCH_SYMBOL::GetFields( std::vector& aVector, bool aVisibleOnly ) { for( SCH_FIELD& field : m_fields ) { @@ -709,7 +708,7 @@ void SCH_COMPONENT::GetFields( std::vector& aVector, bool aVisibleOn } -SCH_FIELD* SCH_COMPONENT::AddField( const SCH_FIELD& aField ) +SCH_FIELD* SCH_SYMBOL::AddField( const SCH_FIELD& aField ) { int newNdx = m_fields.size(); @@ -718,7 +717,7 @@ SCH_FIELD* SCH_COMPONENT::AddField( const SCH_FIELD& aField ) } -void SCH_COMPONENT::RemoveField( const wxString& aFieldName ) +void SCH_SYMBOL::RemoveField( const wxString& aFieldName ) { for( unsigned i = MANDATORY_FIELDS; i < m_fields.size(); ++i ) { @@ -731,7 +730,7 @@ void SCH_COMPONENT::RemoveField( const wxString& aFieldName ) } -SCH_FIELD* SCH_COMPONENT::FindField( const wxString& aFieldName, bool aIncludeDefaultFields ) +SCH_FIELD* SCH_SYMBOL::FindField( const wxString& aFieldName, bool aIncludeDefaultFields ) { unsigned start = aIncludeDefaultFields ? 0 : MANDATORY_FIELDS; @@ -745,8 +744,8 @@ SCH_FIELD* SCH_COMPONENT::FindField( const wxString& aFieldName, bool aIncludeDe } -void SCH_COMPONENT::UpdateFields( const SCH_SHEET_PATH* aPath, bool aUpdateStyle, bool aUpdateRef, - bool aUpdateOtherFields, bool aResetRef, bool aResetOtherFields ) +void SCH_SYMBOL::UpdateFields( const SCH_SHEET_PATH* aPath, bool aUpdateStyle, bool aUpdateRef, + bool aUpdateOtherFields, bool aResetRef, bool aResetOtherFields ) { if( m_part ) { @@ -818,7 +817,7 @@ void SCH_COMPONENT::UpdateFields( const SCH_SHEET_PATH* aPath, bool aUpdateStyle } -void SCH_COMPONENT::RunOnChildren( const std::function& aFunction ) +void SCH_SYMBOL::RunOnChildren( const std::function& aFunction ) { for( const std::unique_ptr& pin : m_pins ) aFunction( pin.get() ); @@ -828,7 +827,7 @@ void SCH_COMPONENT::RunOnChildren( const std::function& aFunc } -SCH_PIN* SCH_COMPONENT::GetPin( const wxString& aNumber ) const +SCH_PIN* SCH_SYMBOL::GetPin( const wxString& aNumber ) const { for( const std::unique_ptr& pin : m_pins ) { @@ -840,21 +839,21 @@ SCH_PIN* SCH_COMPONENT::GetPin( const wxString& aNumber ) const } -void SCH_COMPONENT::GetLibPins( std::vector& aPinsList ) const +void SCH_SYMBOL::GetLibPins( std::vector& aPinsList ) const { if( m_part ) m_part->GetPins( aPinsList, m_unit, m_convert ); } -SCH_PIN* SCH_COMPONENT::GetPin( LIB_PIN* aLibPin ) +SCH_PIN* SCH_SYMBOL::GetPin( LIB_PIN* aLibPin ) { wxASSERT( m_pinMap.count( aLibPin ) ); return m_pins[ m_pinMap.at( aLibPin ) ].get(); } -std::vector SCH_COMPONENT::GetPins( const SCH_SHEET_PATH* aSheet ) const +std::vector SCH_SYMBOL::GetPins( const SCH_SHEET_PATH* aSheet ) const { std::vector pins; @@ -879,12 +878,12 @@ std::vector SCH_COMPONENT::GetPins( const SCH_SHEET_PATH* aSheet ) con } -void SCH_COMPONENT::SwapData( SCH_ITEM* aItem ) +void SCH_SYMBOL::SwapData( SCH_ITEM* aItem ) { - wxCHECK_RET( (aItem != NULL) && (aItem->Type() == SCH_COMPONENT_T), + wxCHECK_RET( (aItem != NULL) && (aItem->Type() == SCH_SYMBOL_T), wxT( "Cannot swap data with invalid symbol." ) ); - SCH_COMPONENT* symbol = (SCH_COMPONENT*) aItem; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) aItem; std::swap( m_lib_id, symbol->m_lib_id ); @@ -916,7 +915,7 @@ void SCH_COMPONENT::SwapData( SCH_ITEM* aItem ) } -void SCH_COMPONENT::GetContextualTextVars( wxArrayString* aVars ) const +void SCH_SYMBOL::GetContextualTextVars( wxArrayString* aVars ) const { for( int i = 0; i < MANDATORY_FIELDS; ++i ) aVars->push_back( m_fields[i].GetCanonicalName().Upper() ); @@ -930,7 +929,7 @@ void SCH_COMPONENT::GetContextualTextVars( wxArrayString* aVars ) const } -bool SCH_COMPONENT::ResolveTextVar( wxString* token, int aDepth ) const +bool SCH_SYMBOL::ResolveTextVar( wxString* token, int aDepth ) const { SCHEMATIC* schematic = Schematic(); @@ -1006,7 +1005,7 @@ bool SCH_COMPONENT::ResolveTextVar( wxString* token, int aDepth ) const } -void SCH_COMPONENT::ClearAnnotation( const SCH_SHEET_PATH* aSheetPath ) +void SCH_SYMBOL::ClearAnnotation( const SCH_SHEET_PATH* aSheetPath ) { // Build a reference with no annotation, i.e. a reference ending with a single '?' wxString defRef = UTIL::GetRefDesUnannotated( m_prefix ); @@ -1038,7 +1037,7 @@ void SCH_COMPONENT::ClearAnnotation( const SCH_SHEET_PATH* aSheetPath ) } -bool SCH_COMPONENT::AddSheetPathReferenceEntryIfMissing( const KIID_PATH& aSheetPath ) +bool SCH_SYMBOL::AddSheetPathReferenceEntryIfMissing( const KIID_PATH& aSheetPath ) { // a empty sheet path is illegal: wxCHECK( aSheetPath.size() > 0, false ); @@ -1058,8 +1057,8 @@ bool SCH_COMPONENT::AddSheetPathReferenceEntryIfMissing( const KIID_PATH& aSheet } -bool SCH_COMPONENT::ReplaceInstanceSheetPath( const KIID_PATH& aOldSheetPath, - const KIID_PATH& aNewSheetPath ) +bool SCH_SYMBOL::ReplaceInstanceSheetPath( const KIID_PATH& aOldSheetPath, + const KIID_PATH& aNewSheetPath ) { auto it = std::find_if( m_instanceReferences.begin(), m_instanceReferences.end(), [ aOldSheetPath ]( SYMBOL_INSTANCE_REFERENCE& r )->bool @@ -1086,102 +1085,102 @@ bool SCH_COMPONENT::ReplaceInstanceSheetPath( const KIID_PATH& aOldSheetPath, } -void SCH_COMPONENT::SetOrientation( int aOrientation ) +void SCH_SYMBOL::SetOrientation( int aOrientation ) { TRANSFORM temp = TRANSFORM(); bool transform = false; switch( aOrientation ) { - case CMP_ORIENT_0: - case CMP_NORMAL: // default transform matrix + case SYM_ORIENT_0: + case SYM_NORMAL: // default transform matrix m_transform.x1 = 1; m_transform.y2 = -1; m_transform.x2 = m_transform.y1 = 0; break; - case CMP_ROTATE_COUNTERCLOCKWISE: // Rotate + (incremental rotation) + case SYM_ROTATE_COUNTERCLOCKWISE: // Rotate + (incremental rotation) temp.x1 = temp.y2 = 0; temp.y1 = 1; temp.x2 = -1; transform = true; break; - case CMP_ROTATE_CLOCKWISE: // Rotate - (incremental rotation) + case SYM_ROTATE_CLOCKWISE: // Rotate - (incremental rotation) temp.x1 = temp.y2 = 0; temp.y1 = -1; temp.x2 = 1; transform = true; break; - case CMP_MIRROR_Y: // Mirror Y (incremental rotation) + case SYM_MIRROR_Y: // Mirror Y (incremental rotation) temp.x1 = -1; temp.y2 = 1; temp.y1 = temp.x2 = 0; transform = true; break; - case CMP_MIRROR_X: // Mirror X (incremental rotation) + case SYM_MIRROR_X: // Mirror X (incremental rotation) temp.x1 = 1; temp.y2 = -1; temp.y1 = temp.x2 = 0; transform = true; break; - case CMP_ORIENT_90: - SetOrientation( CMP_ORIENT_0 ); - SetOrientation( CMP_ROTATE_COUNTERCLOCKWISE ); + case SYM_ORIENT_90: + SetOrientation( SYM_ORIENT_0 ); + SetOrientation( SYM_ROTATE_COUNTERCLOCKWISE ); break; - case CMP_ORIENT_180: - SetOrientation( CMP_ORIENT_0 ); - SetOrientation( CMP_ROTATE_COUNTERCLOCKWISE ); - SetOrientation( CMP_ROTATE_COUNTERCLOCKWISE ); + case SYM_ORIENT_180: + SetOrientation( SYM_ORIENT_0 ); + SetOrientation( SYM_ROTATE_COUNTERCLOCKWISE ); + SetOrientation( SYM_ROTATE_COUNTERCLOCKWISE ); break; - case CMP_ORIENT_270: - SetOrientation( CMP_ORIENT_0 ); - SetOrientation( CMP_ROTATE_CLOCKWISE ); + case SYM_ORIENT_270: + SetOrientation( SYM_ORIENT_0 ); + SetOrientation( SYM_ROTATE_CLOCKWISE ); break; - case ( CMP_ORIENT_0 + CMP_MIRROR_X ): - SetOrientation( CMP_ORIENT_0 ); - SetOrientation( CMP_MIRROR_X ); + case ( SYM_ORIENT_0 + SYM_MIRROR_X ): + SetOrientation( SYM_ORIENT_0 ); + SetOrientation( SYM_MIRROR_X ); break; - case ( CMP_ORIENT_0 + CMP_MIRROR_Y ): - SetOrientation( CMP_ORIENT_0 ); - SetOrientation( CMP_MIRROR_Y ); + case ( SYM_ORIENT_0 + SYM_MIRROR_Y ): + SetOrientation( SYM_ORIENT_0 ); + SetOrientation( SYM_MIRROR_Y ); break; - case ( CMP_ORIENT_90 + CMP_MIRROR_X ): - SetOrientation( CMP_ORIENT_90 ); - SetOrientation( CMP_MIRROR_X ); + case ( SYM_ORIENT_90 + SYM_MIRROR_X ): + SetOrientation( SYM_ORIENT_90 ); + SetOrientation( SYM_MIRROR_X ); break; - case ( CMP_ORIENT_90 + CMP_MIRROR_Y ): - SetOrientation( CMP_ORIENT_90 ); - SetOrientation( CMP_MIRROR_Y ); + case ( SYM_ORIENT_90 + SYM_MIRROR_Y ): + SetOrientation( SYM_ORIENT_90 ); + SetOrientation( SYM_MIRROR_Y ); break; - case ( CMP_ORIENT_180 + CMP_MIRROR_X ): - SetOrientation( CMP_ORIENT_180 ); - SetOrientation( CMP_MIRROR_X ); + case ( SYM_ORIENT_180 + SYM_MIRROR_X ): + SetOrientation( SYM_ORIENT_180 ); + SetOrientation( SYM_MIRROR_X ); break; - case ( CMP_ORIENT_180 + CMP_MIRROR_Y ): - SetOrientation( CMP_ORIENT_180 ); - SetOrientation( CMP_MIRROR_Y ); + case ( SYM_ORIENT_180 + SYM_MIRROR_Y ): + SetOrientation( SYM_ORIENT_180 ); + SetOrientation( SYM_MIRROR_Y ); break; - case ( CMP_ORIENT_270 + CMP_MIRROR_X ): - SetOrientation( CMP_ORIENT_270 ); - SetOrientation( CMP_MIRROR_X ); + case ( SYM_ORIENT_270 + SYM_MIRROR_X ): + SetOrientation( SYM_ORIENT_270 ); + SetOrientation( SYM_MIRROR_X ); break; - case ( CMP_ORIENT_270 + CMP_MIRROR_Y ): - SetOrientation( CMP_ORIENT_270 ); - SetOrientation( CMP_MIRROR_Y ); + case ( SYM_ORIENT_270 + SYM_MIRROR_Y ): + SetOrientation( SYM_ORIENT_270 ); + SetOrientation( SYM_MIRROR_Y ); break; default: @@ -1213,22 +1212,22 @@ void SCH_COMPONENT::SetOrientation( int aOrientation ) } -int SCH_COMPONENT::GetOrientation() +int SCH_SYMBOL::GetOrientation() { int rotate_values[] = { - CMP_ORIENT_0, - CMP_ORIENT_90, - CMP_ORIENT_180, - CMP_ORIENT_270, - CMP_MIRROR_X + CMP_ORIENT_0, - CMP_MIRROR_X + CMP_ORIENT_90, - CMP_MIRROR_X + CMP_ORIENT_270, - CMP_MIRROR_Y, - CMP_MIRROR_Y + CMP_ORIENT_0, - CMP_MIRROR_Y + CMP_ORIENT_90, - CMP_MIRROR_Y + CMP_ORIENT_180, - CMP_MIRROR_Y + CMP_ORIENT_270 + SYM_ORIENT_0, + SYM_ORIENT_90, + SYM_ORIENT_180, + SYM_ORIENT_270, + SYM_MIRROR_X + SYM_ORIENT_0, + SYM_MIRROR_X + SYM_ORIENT_90, + SYM_MIRROR_X + SYM_ORIENT_270, + SYM_MIRROR_Y, + SYM_MIRROR_Y + SYM_ORIENT_0, + SYM_MIRROR_Y + SYM_ORIENT_90, + SYM_MIRROR_Y + SYM_ORIENT_180, + SYM_MIRROR_Y + SYM_ORIENT_270 }; // Try to find the current transform option: @@ -1246,13 +1245,13 @@ int SCH_COMPONENT::GetOrientation() wxFAIL_MSG( "Schematic symbol orientation matrix internal error." ); m_transform = transform; - return CMP_NORMAL; + return SYM_NORMAL; } #if defined(DEBUG) -void SCH_COMPONENT::Show( int nestLevel, std::ostream& os ) const +void SCH_SYMBOL::Show( int nestLevel, std::ostream& os ) const { // for now, make it look like XML: NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() @@ -1282,7 +1281,7 @@ void SCH_COMPONENT::Show( int nestLevel, std::ostream& os ) const #endif -EDA_RECT SCH_COMPONENT::GetBodyBoundingBox() const +EDA_RECT SCH_SYMBOL::GetBodyBoundingBox() const { EDA_RECT bBox; @@ -1317,7 +1316,7 @@ EDA_RECT SCH_COMPONENT::GetBodyBoundingBox() const } -const EDA_RECT SCH_COMPONENT::GetBoundingBox() const +const EDA_RECT SCH_SYMBOL::GetBoundingBox() const { EDA_RECT bbox = GetBodyBoundingBox(); @@ -1328,7 +1327,7 @@ const EDA_RECT SCH_COMPONENT::GetBoundingBox() const } -const EDA_RECT SCH_COMPONENT::GetBoundingBox( bool aIncludeInvisibleText ) const +const EDA_RECT SCH_SYMBOL::GetBoundingBox( bool aIncludeInvisibleText ) const { EDA_RECT bbox = GetBodyBoundingBox(); @@ -1342,7 +1341,7 @@ const EDA_RECT SCH_COMPONENT::GetBoundingBox( bool aIncludeInvisibleText ) const } -void SCH_COMPONENT::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, MSG_PANEL_ITEMS& aList ) +void SCH_SYMBOL::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, MSG_PANEL_ITEMS& aList ) { wxString msg; @@ -1424,17 +1423,17 @@ void SCH_COMPONENT::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, MSG_PANEL_ITEMS& aL } -BITMAPS SCH_COMPONENT::GetMenuImage() const +BITMAPS SCH_SYMBOL::GetMenuImage() const { return BITMAPS::add_component; } -void SCH_COMPONENT::MirrorHorizontally( int aCenter ) +void SCH_SYMBOL::MirrorHorizontally( int aCenter ) { int dx = m_pos.x; - SetOrientation( CMP_MIRROR_Y ); + SetOrientation( SYM_MIRROR_Y ); MIRROR( m_pos.x, aCenter ); dx -= m_pos.x; // dx,0 is the move vector for this transform @@ -1448,11 +1447,11 @@ void SCH_COMPONENT::MirrorHorizontally( int aCenter ) } -void SCH_COMPONENT::MirrorVertically( int aCenter ) +void SCH_SYMBOL::MirrorVertically( int aCenter ) { int dy = m_pos.y; - SetOrientation( CMP_MIRROR_X ); + SetOrientation( SYM_MIRROR_X ); MIRROR( m_pos.y, aCenter ); dy -= m_pos.y; // dy,0 is the move vector for this transform @@ -1466,13 +1465,13 @@ void SCH_COMPONENT::MirrorVertically( int aCenter ) } -void SCH_COMPONENT::Rotate( const wxPoint& aCenter ) +void SCH_SYMBOL::Rotate( const wxPoint& aCenter ) { wxPoint prev = m_pos; RotatePoint( &m_pos, aCenter, 900 ); - SetOrientation( CMP_ROTATE_COUNTERCLOCKWISE ); + SetOrientation( SYM_ROTATE_COUNTERCLOCKWISE ); for( SCH_FIELD& field : m_fields ) { @@ -1485,7 +1484,7 @@ void SCH_COMPONENT::Rotate( const wxPoint& aCenter ) } -bool SCH_COMPONENT::Matches( const wxFindReplaceData& aSearchData, void* aAuxData ) const +bool SCH_SYMBOL::Matches( const wxFindReplaceData& aSearchData, void* aAuxData ) const { wxLogTrace( traceFindItem, wxT( " item " ) + GetSelectMenuText( EDA_UNITS::MILLIMETRES ) ); @@ -1494,7 +1493,7 @@ bool SCH_COMPONENT::Matches( const wxFindReplaceData& aSearchData, void* aAuxDat } -void SCH_COMPONENT::GetEndPoints( std::vector & aItemList ) +void SCH_SYMBOL::GetEndPoints( std::vector & aItemList ) { for( auto& pin : m_pins ) { @@ -1509,8 +1508,8 @@ void SCH_COMPONENT::GetEndPoints( std::vector & aItemList ) } -bool SCH_COMPONENT::UpdateDanglingState( std::vector& aItemList, - const SCH_SHEET_PATH* aPath ) +bool SCH_SYMBOL::UpdateDanglingState( std::vector& aItemList, + const SCH_SHEET_PATH* aPath ) { bool changed = false; @@ -1560,7 +1559,7 @@ bool SCH_COMPONENT::UpdateDanglingState( std::vector& aItemLi } -wxPoint SCH_COMPONENT::GetPinPhysicalPosition( const LIB_PIN* Pin ) const +wxPoint SCH_SYMBOL::GetPinPhysicalPosition( const LIB_PIN* Pin ) const { wxCHECK_MSG( Pin != NULL && Pin->Type() == LIB_PIN_T, wxPoint( 0, 0 ), wxT( "Cannot get physical position of pin." ) ); @@ -1569,7 +1568,7 @@ wxPoint SCH_COMPONENT::GetPinPhysicalPosition( const LIB_PIN* Pin ) const } -std::vector SCH_COMPONENT::GetConnectionPoints() const +std::vector SCH_SYMBOL::GetConnectionPoints() const { std::vector retval; @@ -1593,7 +1592,7 @@ std::vector SCH_COMPONENT::GetConnectionPoints() const } -LIB_ITEM* SCH_COMPONENT::GetDrawItem( const wxPoint& aPosition, KICAD_T aType ) +LIB_ITEM* SCH_SYMBOL::GetDrawItem( const wxPoint& aPosition, KICAD_T aType ) { if( m_part ) { @@ -1607,7 +1606,7 @@ LIB_ITEM* SCH_COMPONENT::GetDrawItem( const wxPoint& aPosition, KICAD_T aType ) } -wxString SCH_COMPONENT::GetSelectMenuText( EDA_UNITS aUnits ) const +wxString SCH_SYMBOL::GetSelectMenuText( EDA_UNITS aUnits ) const { return wxString::Format( _( "Symbol %s [%s]" ), GetField( REFERENCE_FIELD )->GetShownText(), @@ -1615,16 +1614,16 @@ wxString SCH_COMPONENT::GetSelectMenuText( EDA_UNITS aUnits ) const } -SEARCH_RESULT SCH_COMPONENT::Visit( INSPECTOR aInspector, void* aTestData, - const KICAD_T aFilterTypes[] ) +SEARCH_RESULT SCH_SYMBOL::Visit( INSPECTOR aInspector, void* aTestData, + const KICAD_T aFilterTypes[] ) { KICAD_T stype; for( const KICAD_T* p = aFilterTypes; (stype = *p) != EOT; ++p ) { if( stype == SCH_LOCATE_ANY_T - || ( stype == SCH_COMPONENT_T ) - || ( stype == SCH_COMPONENT_LOCATE_POWER_T && m_part && m_part->IsPower() ) ) + || ( stype == SCH_SYMBOL_T ) + || ( stype == SCH_SYMBOL_LOCATE_POWER_T && m_part && m_part->IsPower() ) ) { if( SEARCH_RESULT::QUIT == aInspector( this, aTestData ) ) return SEARCH_RESULT::QUIT; @@ -1646,7 +1645,7 @@ SEARCH_RESULT SCH_COMPONENT::Visit( INSPECTOR aInspector, void* aTestData, } if( stype == SCH_FIELD_LOCATE_VALUE_T - || ( stype == SCH_COMPONENT_LOCATE_POWER_T && m_part && m_part->IsPower() ) ) + || ( stype == SCH_SYMBOL_LOCATE_POWER_T && m_part && m_part->IsPower() ) ) { if( SEARCH_RESULT::QUIT == aInspector( GetField( VALUE_FIELD ), (void*) this ) ) return SEARCH_RESULT::QUIT; @@ -1689,29 +1688,29 @@ SEARCH_RESULT SCH_COMPONENT::Visit( INSPECTOR aInspector, void* aTestData, } -bool SCH_COMPONENT::operator <( const SCH_ITEM& aItem ) const +bool SCH_SYMBOL::operator <( const SCH_ITEM& aItem ) const { if( Type() != aItem.Type() ) return Type() < aItem.Type(); - auto component = static_cast( &aItem ); + auto symbol = static_cast( &aItem ); EDA_RECT rect = GetBodyBoundingBox(); - if( rect.GetArea() != component->GetBodyBoundingBox().GetArea() ) - return rect.GetArea() < component->GetBodyBoundingBox().GetArea(); + if( rect.GetArea() != symbol->GetBodyBoundingBox().GetArea() ) + return rect.GetArea() < symbol->GetBodyBoundingBox().GetArea(); - if( m_pos.x != component->m_pos.x ) - return m_pos.x < component->m_pos.x; + if( m_pos.x != symbol->m_pos.x ) + return m_pos.x < symbol->m_pos.x; - if( m_pos.y != component->m_pos.y ) - return m_pos.y < component->m_pos.y; + if( m_pos.y != symbol->m_pos.y ) + return m_pos.y < symbol->m_pos.y; return m_Uuid < aItem.m_Uuid; // Ensure deterministic sort } -bool SCH_COMPONENT::operator==( const SCH_COMPONENT& aSymbol ) const +bool SCH_SYMBOL::operator==( const SCH_SYMBOL& aSymbol ) const { if( GetFieldCount() != aSymbol.GetFieldCount() ) return false; @@ -1726,13 +1725,13 @@ bool SCH_COMPONENT::operator==( const SCH_COMPONENT& aSymbol ) const } -bool SCH_COMPONENT::operator!=( const SCH_COMPONENT& aSymbol ) const +bool SCH_SYMBOL::operator!=( const SCH_SYMBOL& aSymbol ) const { return !( *this == aSymbol ); } -SCH_COMPONENT& SCH_COMPONENT::operator=( const SCH_ITEM& aItem ) +SCH_SYMBOL& SCH_SYMBOL::operator=( const SCH_ITEM& aItem ) { wxCHECK_MSG( Type() == aItem.Type(), *this, wxT( "Cannot assign object type " ) + aItem.GetClass() + wxT( " to type " ) + @@ -1742,7 +1741,7 @@ SCH_COMPONENT& SCH_COMPONENT::operator=( const SCH_ITEM& aItem ) { SCH_ITEM::operator=( aItem ); - SCH_COMPONENT* c = (SCH_COMPONENT*) &aItem; + SCH_SYMBOL* c = (SCH_SYMBOL*) &aItem; m_lib_id = c->m_lib_id; @@ -1769,7 +1768,7 @@ SCH_COMPONENT& SCH_COMPONENT::operator=( const SCH_ITEM& aItem ) } -bool SCH_COMPONENT::HitTest( const wxPoint& aPosition, int aAccuracy ) const +bool SCH_SYMBOL::HitTest( const wxPoint& aPosition, int aAccuracy ) const { EDA_RECT bBox = GetBodyBoundingBox(); bBox.Inflate( aAccuracy ); @@ -1781,7 +1780,7 @@ bool SCH_COMPONENT::HitTest( const wxPoint& aPosition, int aAccuracy ) const } -bool SCH_COMPONENT::HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy ) const +bool SCH_SYMBOL::HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy ) const { if( m_flags & STRUCT_DELETED || m_flags & SKIP_STRUCT ) return false; @@ -1797,7 +1796,7 @@ bool SCH_COMPONENT::HitTest( const EDA_RECT& aRect, bool aContained, int aAccura } -bool SCH_COMPONENT::doIsConnected( const wxPoint& aPosition ) const +bool SCH_SYMBOL::doIsConnected( const wxPoint& aPosition ) const { wxPoint new_pos = m_transform.InverseTransform().TransformCoordinate( aPosition - m_pos ); @@ -1825,13 +1824,13 @@ bool SCH_COMPONENT::doIsConnected( const wxPoint& aPosition ) const } -bool SCH_COMPONENT::IsInNetlist() const +bool SCH_SYMBOL::IsInNetlist() const { return m_isInNetlist; } -void SCH_COMPONENT::Plot( PLOTTER* aPlotter ) const +void SCH_SYMBOL::Plot( PLOTTER* aPlotter ) const { if( m_part ) { @@ -1848,7 +1847,7 @@ void SCH_COMPONENT::Plot( PLOTTER* aPlotter ) const } -bool SCH_COMPONENT::HasBrightenedPins() +bool SCH_SYMBOL::HasBrightenedPins() { for( const auto& pin : m_pins ) { @@ -1860,14 +1859,14 @@ bool SCH_COMPONENT::HasBrightenedPins() } -void SCH_COMPONENT::ClearBrightenedPins() +void SCH_SYMBOL::ClearBrightenedPins() { for( auto& pin : m_pins ) pin->ClearBrightened(); } -bool SCH_COMPONENT::IsPointClickableAnchor( const wxPoint& aPos ) const +bool SCH_SYMBOL::IsPointClickableAnchor( const wxPoint& aPos ) const { for( const std::unique_ptr& pin : m_pins ) { diff --git a/eeschema/sch_symbol.h b/eeschema/sch_symbol.h index dda1fa8824..17aa138fb9 100644 --- a/eeschema/sch_symbol.h +++ b/eeschema/sch_symbol.h @@ -24,8 +24,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef COMPONENT_CLASS_H -#define COMPONENT_CLASS_H +#ifndef __SYMBOL_H__ +#define __SYMBOL_H__ #include #include @@ -46,7 +46,7 @@ #include #include #include -#include // COMPONENT_INSTANCE_REFERENCE +#include // SYMBOL_INSTANCE_REFERENCE #include #include @@ -75,10 +75,10 @@ extern std::string toUTFTildaText( const wxString& txt ); /** * Schematic symbol object. */ -class SCH_COMPONENT : public SCH_ITEM +class SCH_SYMBOL : public SCH_ITEM { public: - SCH_COMPONENT( const wxPoint& pos = wxPoint( 0, 0 ), SCH_ITEM* aParent = NULL ); + SCH_SYMBOL( const wxPoint& pos = wxPoint( 0, 0 ), SCH_ITEM* aParent = NULL ); /** * Create schematic symbol from library symbol object. @@ -91,12 +91,12 @@ public: * @param pos is the position of the symbol. * @param setNewItemFlag is used to set the symbol #IS_NEW and #IS_MOVING flags. */ - SCH_COMPONENT( const LIB_PART& aPart, const LIB_ID& aLibId, const SCH_SHEET_PATH* aSheet, - int unit = 0, int convert = 0, - const wxPoint& pos = wxPoint( 0, 0 ) ); + SCH_SYMBOL( const LIB_PART& aPart, const LIB_ID& aLibId, const SCH_SHEET_PATH* aSheet, + int unit = 0, int convert = 0, const wxPoint& pos = wxPoint( 0, 0 ) ); + + SCH_SYMBOL( const LIB_PART& aPart, const SCH_SHEET_PATH* aSheet, const PICKED_SYMBOL& aSel, + const wxPoint& pos = wxPoint( 0, 0 ) ); - SCH_COMPONENT( const LIB_PART& aPart, const SCH_SHEET_PATH* aSheet, const PICKED_SYMBOL& aSel, - const wxPoint& pos = wxPoint( 0, 0 ) ); /** * Clone \a aSymbol into a new schematic symbol object. * @@ -106,18 +106,18 @@ public: * * @param aSymbol is the schematic symbol to clone. */ - SCH_COMPONENT( const SCH_COMPONENT& aSymbol ); + SCH_SYMBOL( const SCH_SYMBOL& aSymbol ); - ~SCH_COMPONENT() { } + ~SCH_SYMBOL() { } static inline bool ClassOf( const EDA_ITEM* aItem ) { - return aItem && SCH_COMPONENT_T == aItem->Type(); + return aItem && SCH_SYMBOL_T == aItem->Type(); } wxString GetClass() const override { - return wxT( "SCH_COMPONENT" ); + return wxT( "SCH_SYMBOL" ); } const std::vector& GetInstanceReferences() @@ -254,12 +254,12 @@ public: * Because there are different ways to have a given orientation/mirror, * the orientation/mirror is not necessary what the user does. For example: * a mirrorV then a mirrorH returns no mirror but a rotate. This function finds - * a rotation and a mirror value #CMP_MIRROR_X because this is the first mirror + * a rotation and a mirror value #SYM_MIRROR_X because this is the first mirror * option tested. This can differs from the orientation made by an user. A - * #CMP_MIRROR_Y is returned as a #CMP_MIRROR_X with an orientation 180 because + * #SYM_MIRROR_Y is returned as a #SYM_MIRROR_X with an orientation 180 because * they are equivalent. * - * @sa COMPONENT_ORIENTATION_T + * @sa SYMBOL_ORIENTATION_T * * @return the orientation and mirror of the symbol. */ @@ -601,7 +601,7 @@ public: return ( aItem->Type() == SCH_LINE_T && aItem->GetLayer() == LAYER_WIRE ) || ( aItem->Type() == SCH_NO_CONNECT_T ) || ( aItem->Type() == SCH_JUNCTION_T ) || - ( aItem->Type() == SCH_COMPONENT_T ) || + ( aItem->Type() == SCH_SYMBOL_T ) || ( aItem->Type() == SCH_LABEL_T ) || ( aItem->Type() == SCH_HIER_LABEL_T ) || ( aItem->Type() == SCH_GLOBAL_LABEL_T ); @@ -631,10 +631,10 @@ public: bool operator <( const SCH_ITEM& aItem ) const override; - bool operator==( const SCH_COMPONENT& aSymbol) const; - bool operator!=( const SCH_COMPONENT& aSymbol) const; + bool operator==( const SCH_SYMBOL& aSymbol) const; + bool operator!=( const SCH_SYMBOL& aSymbol) const; - SCH_COMPONENT& operator=( const SCH_ITEM& aItem ); + SCH_SYMBOL& operator=( const SCH_ITEM& aItem ); bool IsReplaceable() const override { return true; } @@ -706,4 +706,4 @@ private: std::vector m_instanceReferences; }; -#endif /* COMPONENT_CLASS_H */ +#endif /* __SYMBOL_H__ */ diff --git a/eeschema/schematic.cpp b/eeschema/schematic.cpp index a67f080fdc..07e6cb1e5f 100644 --- a/eeschema/schematic.cpp +++ b/eeschema/schematic.cpp @@ -219,11 +219,11 @@ bool SCHEMATIC::ResolveCrossReference( wxString* token, int aDepth ) const SCH_SHEET_PATH dummy; SCH_ITEM* refItem = sheetList.GetItem( KIID( ref ), &dummy ); - if( refItem && refItem->Type() == SCH_COMPONENT_T ) + if( refItem && refItem->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* refComponent = static_cast( refItem ); + SCH_SYMBOL* refSymbol = static_cast( refItem ); - if( refComponent->ResolveTextVar( &remainder, aDepth + 1 ) ) + if( refSymbol->ResolveTextVar( &remainder, aDepth + 1 ) ) { *token = remainder; return true; @@ -278,7 +278,7 @@ wxString SCHEMATIC::ConvertRefsToKIIDs( const wxString& aSource ) const for( size_t jj = 0; jj < references.GetCount(); jj++ ) { - SCH_COMPONENT* refSymbol = references[ jj ].GetSymbol(); + SCH_SYMBOL* refSymbol = references[ jj ].GetSymbol(); if( ref == refSymbol->GetRef( &references[ jj ].GetSheetPath(), true ) ) { @@ -336,10 +336,10 @@ wxString SCHEMATIC::ConvertKIIDsToRefs( const wxString& aSource ) const SCH_SHEET_PATH refSheetPath; SCH_ITEM* refItem = sheetList.GetItem( KIID( ref ), &refSheetPath ); - if( refItem && refItem->Type() == SCH_COMPONENT_T ) + if( refItem && refItem->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* refComponent = static_cast( refItem ); - token = refComponent->GetRef( &refSheetPath, true ) + ":" + remainder; + SCH_SYMBOL* refSymbol = static_cast( refItem ); + token = refSymbol->GetRef( &refSheetPath, true ) + ":" + remainder; } } diff --git a/eeschema/schematic_undo_redo.cpp b/eeschema/schematic_undo_redo.cpp index ea35cd36d7..91ec38f0b9 100644 --- a/eeschema/schematic_undo_redo.cpp +++ b/eeschema/schematic_undo_redo.cpp @@ -316,11 +316,11 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList ) switch( status ) { case UNDO_REDO::CHANGED: - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { // Update the schematic library cache in case that was the change. - SCH_COMPONENT* symbol = dynamic_cast( item ); - SCH_COMPONENT* altSymbol = dynamic_cast( alt_item ); + SCH_SYMBOL* symbol = dynamic_cast( item ); + SCH_SYMBOL* altSymbol = dynamic_cast( alt_item ); wxCHECK( symbol && altSymbol, /* void */ ); @@ -329,8 +329,8 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList ) item->SwapData( alt_item ); - if( item->Type() == SCH_COMPONENT_T ) - static_cast( item )->UpdatePins(); + if( item->Type() == SCH_SYMBOL_T ) + static_cast( item )->UpdatePins(); break; diff --git a/eeschema/sim/sim_plot_frame.cpp b/eeschema/sim/sim_plot_frame.cpp index 16b014a149..c768b790cb 100644 --- a/eeschema/sim/sim_plot_frame.cpp +++ b/eeschema/sim/sim_plot_frame.cpp @@ -545,7 +545,7 @@ void SIM_PLOT_FRAME::AddCurrentPlot( const wxString& aDeviceName, const wxString } -void SIM_PLOT_FRAME::AddTuner( SCH_COMPONENT* aComponent ) +void SIM_PLOT_FRAME::AddTuner( SCH_SYMBOL* aSymbol ) { SIM_PANEL_BASE* plotPanel = currentPlotWindow(); @@ -553,13 +553,13 @@ void SIM_PLOT_FRAME::AddTuner( SCH_COMPONENT* aComponent ) return; // For now limit the tuner tool to RLC components - char primitiveType = NETLIST_EXPORTER_PSPICE::GetSpiceField( SF_PRIMITIVE, aComponent, 0 )[0]; + char primitiveType = NETLIST_EXPORTER_PSPICE::GetSpiceField( SF_PRIMITIVE, aSymbol, 0 )[0]; if( primitiveType != SP_RESISTOR && primitiveType != SP_CAPACITOR && primitiveType != SP_INDUCTOR ) return; - const wxString componentName = aComponent->GetField( REFERENCE_FIELD )->GetText(); + const wxString componentName = aSymbol->GetField( REFERENCE_FIELD )->GetText(); // Do not add multiple instances for the same component auto tunerIt = std::find_if( m_tuners.begin(), m_tuners.end(), [&]( const TUNER_SLIDER* t ) @@ -573,7 +573,7 @@ void SIM_PLOT_FRAME::AddTuner( SCH_COMPONENT* aComponent ) try { - TUNER_SLIDER* tuner = new TUNER_SLIDER( this, m_tunePanel, aComponent ); + TUNER_SLIDER* tuner = new TUNER_SLIDER( this, m_tunePanel, aSymbol ); m_tuneSizer->Add( tuner ); m_tuners.push_back( tuner ); m_tunePanel->Layout(); diff --git a/eeschema/sim/sim_plot_frame.h b/eeschema/sim/sim_plot_frame.h index cf9e640e3c..fc665f07f9 100644 --- a/eeschema/sim/sim_plot_frame.h +++ b/eeschema/sim/sim_plot_frame.h @@ -47,7 +47,7 @@ #include class SCH_EDIT_FRAME; -class SCH_COMPONENT; +class SCH_SYMBOL; class SPICE_SIMULATOR; class SPICE_SIMULATOR_SETTINGS; @@ -97,9 +97,9 @@ public: void AddCurrentPlot( const wxString& aDeviceName, const wxString& aParam ); /** - * Add a tuner for a component. + * Add a tuner for a symbol. */ - void AddTuner( SCH_COMPONENT* aComponent ); + void AddTuner( SCH_SYMBOL* aSymbol ); /** * Remove an existing tuner. diff --git a/eeschema/symbol_editor/symbol_edit_frame.cpp b/eeschema/symbol_editor/symbol_edit_frame.cpp index bd43de1f98..3779eafea2 100644 --- a/eeschema/symbol_editor/symbol_edit_frame.cpp +++ b/eeschema/symbol_editor/symbol_edit_frame.cpp @@ -683,7 +683,7 @@ void SYMBOL_EDIT_FRAME::SetCurPart( LIB_PART* aPart, bool aUpdateZoom ) m_my_part = aPart; - // select the current component in the tree widget + // select the current symbol in the tree widget if( !IsSymbolFromSchematic() && m_my_part ) m_treePane->GetLibTree()->SelectLibId( m_my_part->GetLibId() ); else @@ -1272,7 +1272,7 @@ SELECTION& SYMBOL_EDIT_FRAME::GetCurrentSelection() } -void SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic( SCH_COMPONENT* aSymbol ) +void SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic( SCH_SYMBOL* aSymbol ) { std::unique_ptr part = aSymbol->GetPartRef()->Flatten(); wxCHECK( part, /* void */ ); diff --git a/eeschema/symbol_editor/symbol_edit_frame.h b/eeschema/symbol_editor/symbol_edit_frame.h index 5e6eef860f..95b896dade 100644 --- a/eeschema/symbol_editor/symbol_edit_frame.h +++ b/eeschema/symbol_editor/symbol_edit_frame.h @@ -338,7 +338,7 @@ public: * * @param aSymbol the symbol to edit. */ - void LoadSymbolFromSchematic( SCH_COMPONENT* aSymbol ); + void LoadSymbolFromSchematic( SCH_SYMBOL* aSymbol ); /** * Test if a symbol is loaded and can be edited. @@ -531,7 +531,7 @@ private: // copy could be. wxComboBox* m_unitSelectBox; // a ComboBox to select a unit to edit (if the // part has multiple units) - SYMBOL_TREE_PANE* m_treePane; // component search tree widget + SYMBOL_TREE_PANE* m_treePane; // symbol search tree widget SYMBOL_LIBRARY_MANAGER* m_libMgr; // manager taking care of temporary modifications SYMBOL_EDITOR_SETTINGS* m_settings; // Handle to the settings diff --git a/eeschema/symbol_editor/symbol_editor.cpp b/eeschema/symbol_editor/symbol_editor.cpp index aba84b3046..c84f33ef22 100644 --- a/eeschema/symbol_editor/symbol_editor.cpp +++ b/eeschema/symbol_editor/symbol_editor.cpp @@ -409,7 +409,7 @@ void SYMBOL_EDIT_FRAME::CreateNewPart() // Currently, symbol names cannot include a space, that breaks libraries: name.Replace( " ", "_" ); - // Test if there is a component with this name already. + // Test if there is a symbol with this name already. if( !lib.empty() && m_libMgr->PartExists( name, lib ) ) { wxString msg = wxString::Format( _( "Symbol \"%s\" already exists in library \"%s\"" ), @@ -660,7 +660,7 @@ void SYMBOL_EDIT_FRAME::savePartAs() return; } - // Test if there is a component with this name already. + // Test if there is a symbol with this name already. if( m_libMgr->PartExists( new_name, new_lib ) ) { wxString msg = wxString::Format( _( "Symbol '%s' already exists in library '%s'" ), diff --git a/eeschema/symbol_tree_model_adapter.cpp b/eeschema/symbol_tree_model_adapter.cpp index ba8e4f6964..20914647a7 100644 --- a/eeschema/symbol_tree_model_adapter.cpp +++ b/eeschema/symbol_tree_model_adapter.cpp @@ -74,7 +74,7 @@ void SYMBOL_TREE_MODEL_ADAPTER::AddLibraries( const std::vector& aNick std::unordered_map> loadedSymbols; SYMBOL_ASYNC_LOADER loader( aNicknames, m_libs, - GetFilter() == LIB_TREE_MODEL_ADAPTER::CMP_FILTER_POWER, + GetFilter() == LIB_TREE_MODEL_ADAPTER::SYM_FILTER_POWER, &loadedSymbols, prg.get() ); LOCALE_IO toggle; @@ -140,7 +140,7 @@ void SYMBOL_TREE_MODEL_ADAPTER::AddLibraries( const std::vector& aNick void SYMBOL_TREE_MODEL_ADAPTER::AddLibrary( wxString const& aLibNickname ) { - bool onlyPowerSymbols = ( GetFilter() == CMP_FILTER_POWER ); + bool onlyPowerSymbols = ( GetFilter() == SYM_FILTER_POWER ); std::vector symbols; std::vector comp_list; diff --git a/eeschema/symbol_tree_model_adapter.h b/eeschema/symbol_tree_model_adapter.h index d4d8fa0392..4690d74470 100644 --- a/eeschema/symbol_tree_model_adapter.h +++ b/eeschema/symbol_tree_model_adapter.h @@ -3,7 +3,7 @@ * * Copyright (C) 2017 Chris Pavlina * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2014-2017 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/eeschema/symbol_viewer_frame.cpp b/eeschema/symbol_viewer_frame.cpp index 4c2aa6155d..05b1bb5617 100644 --- a/eeschema/symbol_viewer_frame.cpp +++ b/eeschema/symbol_viewer_frame.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2018 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2008 Wayne Stambaugh - * Copyright (C) 2004-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2004-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -56,7 +56,7 @@ #include -// Save previous component library viewer state. +// Save previous symbol library viewer state. wxString SYMBOL_VIEWER_FRAME::m_libraryName; wxString SYMBOL_VIEWER_FRAME::m_entryName; @@ -77,8 +77,8 @@ BEGIN_EVENT_TABLE( SYMBOL_VIEWER_FRAME, EDA_DRAW_FRAME ) // listbox events EVT_LISTBOX( ID_LIBVIEW_LIB_LIST, SYMBOL_VIEWER_FRAME::ClickOnLibList ) - EVT_LISTBOX( ID_LIBVIEW_CMP_LIST, SYMBOL_VIEWER_FRAME::ClickOnCmpList ) - EVT_LISTBOX_DCLICK( ID_LIBVIEW_CMP_LIST, SYMBOL_VIEWER_FRAME::DClickOnCmpList ) + EVT_LISTBOX( ID_LIBVIEW_SYM_LIST, SYMBOL_VIEWER_FRAME::ClickOnCmpList ) + EVT_LISTBOX_DCLICK( ID_LIBVIEW_SYM_LIST, SYMBOL_VIEWER_FRAME::DClickOnCmpList ) // Menu (and/or hotkey) events EVT_MENU( wxID_CLOSE, SYMBOL_VIEWER_FRAME::CloseLibraryViewer ) @@ -155,7 +155,7 @@ SYMBOL_VIEWER_FRAME::SYMBOL_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAM m_libList = new wxListBox( this, ID_LIBVIEW_LIB_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); - m_symbolList = new wxListBox( this, ID_LIBVIEW_CMP_LIST, wxDefaultPosition, wxDefaultSize, + m_symbolList = new wxListBox( this, ID_LIBVIEW_SYM_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL | wxNO_BORDER ); if( aLibraryName.empty() ) @@ -490,7 +490,7 @@ bool SYMBOL_VIEWER_FRAME::ReCreateLibList() } } - // Remove libs which have no power components, if this filter is activated + // Remove libs which have no power symbols, if this filter is activated if( m_listPowerCmpOnly ) { for( unsigned ii = 0; ii < libs.size(); ) @@ -584,7 +584,7 @@ bool SYMBOL_VIEWER_FRAME::ReCreateSymbolList() m_symbolList->SetSelection( index, true ); - wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_CMP_LIST ); + wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_SYM_LIST ); ProcessEvent( evt ); return changed; @@ -813,13 +813,14 @@ void SYMBOL_VIEWER_FRAME::OnSelectSymbol( wxCommandEvent& aEvent ) { std::unique_lock dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock ); - // One CHOOSE_COMPONENT dialog at a time. User probably can't handle more anyway. + // One CHOOSE_SYMBOL dialog at a time. User probably can't handle more anyway. if( !dialogLock.try_lock() ) return; // Container doing search-as-you-type. SYMBOL_LIB_TABLE* libs = Prj().SchSymbolLibTable(); - wxObjectDataPtr adapter = SYMBOL_TREE_MODEL_ADAPTER::Create( this, libs ); + wxObjectDataPtr adapter = + SYMBOL_TREE_MODEL_ADAPTER::Create( this, libs ); const auto libNicknames = libs->GetLogicalLibs(); static_cast( adapter.get() )->AddLibraries( libNicknames, this ); @@ -855,7 +856,7 @@ void SYMBOL_VIEWER_FRAME::OnSelectSymbol( wxCommandEvent& aEvent ) void SYMBOL_VIEWER_FRAME::onSelectNextSymbol( wxCommandEvent& aEvent ) { - wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_CMP_LIST ); + wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_SYM_LIST ); int ii = m_symbolList->GetSelection(); // Select the next symbol or stop at the end of the list. @@ -869,7 +870,7 @@ void SYMBOL_VIEWER_FRAME::onSelectNextSymbol( wxCommandEvent& aEvent ) void SYMBOL_VIEWER_FRAME::onSelectPreviousSymbol( wxCommandEvent& aEvent ) { - wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_CMP_LIST ); + wxCommandEvent evt( wxEVT_COMMAND_LISTBOX_SELECTED, ID_LIBVIEW_SYM_LIST ); int ii = m_symbolList->GetSelection(); // Select the previous symbol or stop at the beginning of list. diff --git a/eeschema/tools/assign_footprints.cpp b/eeschema/tools/assign_footprints.cpp index a2e2e6d5c0..f1d39f3ddb 100644 --- a/eeschema/tools/assign_footprints.cpp +++ b/eeschema/tools/assign_footprints.cpp @@ -43,7 +43,7 @@ void SCH_EDITOR_CONTROL::AssignFootprints( const std::string& aChangedSetOfReferences ) { - // Build a flat list of components in schematic: + // Build a flat list of symbols in schematic: SCH_REFERENCE_LIST refs; SCH_SHEET_LIST sheets = m_frame->Schematic().GetSheets(); bool isChanged = false; @@ -75,7 +75,7 @@ void SCH_EDITOR_CONTROL::AssignFootprints( const std::string& aChangedSetOfRefer else footprint.Empty(); - // Search the component in the flat list + // Search the symbol in the flat list for( unsigned ii = 0; ii < refs.GetCount(); ++ii ) { if( reference == refs[ii].GetRef() ) @@ -83,19 +83,20 @@ void SCH_EDITOR_CONTROL::AssignFootprints( const std::string& aChangedSetOfRefer // We have found a candidate. // Note: it can be not unique (multiple parts per package) // So we *do not* stop the search here - SCH_COMPONENT* component = refs[ ii ].GetSymbol(); + SCH_SYMBOL* symbol = refs[ ii ].GetSymbol(); + // For backwards-compatibility CvPcb currently updates all instances of a - // component (even though it lists these instances separately). + // symbol (even though it lists these instances separately). SCH_SHEET_PATH* sheetPath = nullptr; // &refs[ii].GetSheetPath(); wxString oldfp = refs[ii].GetFootprint(); - if( oldfp.IsEmpty() && component->GetField( FOOTPRINT_FIELD )->IsVisible() ) - component->GetField( FOOTPRINT_FIELD )->SetVisible( false ); + if( oldfp.IsEmpty() && symbol->GetField( FOOTPRINT_FIELD )->IsVisible() ) + symbol->GetField( FOOTPRINT_FIELD )->SetVisible( false ); if( oldfp != footprint ) { isChanged = true; - component->SetFootprint( sheetPath, footprint ); + symbol->SetFootprint( sheetPath, footprint ); } } } @@ -120,7 +121,7 @@ bool SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile( const wxString& aFullFil bool aForceVisibilityState, bool aVisibilityState ) { - // Build a flat list of components in schematic: + // Build a flat list of symbols in schematic: SCH_REFERENCE_LIST referencesList; SCH_SHEET_LIST sheetList = m_frame->Schematic().GetSheets(); @@ -134,7 +135,7 @@ bool SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile( const wxString& aFullFil // cmpFileReader dtor will close cmpFile FILE_LINE_READER cmpFileReader( cmpFile, aFullFilename ); - // Now, for each component found in file, + // Now, for each symbol found in file, // replace footprint field value by the new value: wxString reference; wxString footprint; @@ -148,7 +149,7 @@ bool SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile( const wxString& aFullFil if( !buffer.StartsWith( wxT( "BeginCmp" ) ) ) continue; - // Begin component description. + // Begin symbol description. reference.Empty(); footprint.Empty(); @@ -171,12 +172,12 @@ bool SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile( const wxString& aFullFil footprint = value; } - // A block is read: initialize the footprint field of the corresponding component + // A block is read: initialize the footprint field of the corresponding symbol // if the footprint name is not empty if( reference.IsEmpty() ) continue; - // Search the component in the flat list + // Search the symbol in the flat list for( unsigned ii = 0; ii < referencesList.GetCount(); ii++ ) { if( reference == referencesList[ii].GetRef() ) @@ -184,7 +185,7 @@ bool SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile( const wxString& aFullFil // We have found a candidate. // Note: it can be not unique (multiple units per part) // So we *do not* stop the search here - SCH_COMPONENT* symbol = referencesList[ ii ].GetSymbol(); + SCH_SYMBOL* symbol = referencesList[ ii ].GetSymbol(); SCH_SHEET_PATH* sheetPath = &referencesList[ii].GetSheetPath(); symbol->SetFootprint( sheetPath, footprint ); @@ -229,7 +230,7 @@ int SCH_EDITOR_CONTROL::ImportFPAssignments( const TOOL_EVENT& aEvent ) if( !processCmpToFootprintLinkFile( filename, forceVisibility, visibilityState ) ) { - wxString msg = wxString::Format( _( "Failed to open component-footprint link file \"%s\"" ), + wxString msg = wxString::Format( _( "Failed to open symbol-footprint link file \"%s\"" ), filename.GetData() ); DisplayError( m_frame, msg ); diff --git a/eeschema/tools/backannotate.cpp b/eeschema/tools/backannotate.cpp index 069a20ddc8..1fef14f2e9 100644 --- a/eeschema/tools/backannotate.cpp +++ b/eeschema/tools/backannotate.cpp @@ -317,7 +317,7 @@ void BACK_ANNOTATE::applyChangelist() { SCH_REFERENCE& ref = item.first; PCB_FP_DATA& fpData = *item.second; - SCH_COMPONENT* symbol = ref.GetSymbol(); + SCH_SYMBOL* symbol = ref.GetSymbol(); SCH_SCREEN* screen = ref.GetSheetPath().LastScreen(); wxString oldFootprint = ref.GetFootprint(); wxString oldValue = ref.GetValue(); @@ -438,23 +438,23 @@ static LABEL_SPIN_STYLE orientLabel( SCH_PIN* aPin ) } orientations[] = { - { CMP_ORIENT_0, 0, 0, 0 }, - { CMP_ORIENT_90, 1, 0, 0 }, - { CMP_ORIENT_180, 2, 0, 0 }, - { CMP_ORIENT_270, 3, 0, 0 }, - { CMP_MIRROR_X + CMP_ORIENT_0, 0, 1, 0 }, - { CMP_MIRROR_X + CMP_ORIENT_90, 1, 1, 0 }, - { CMP_MIRROR_Y, 0, 0, 1 }, - { CMP_MIRROR_X + CMP_ORIENT_270, 3, 1, 0 }, - { CMP_MIRROR_Y + CMP_ORIENT_0, 0, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_90, 1, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_180, 2, 0, 1 }, - { CMP_MIRROR_Y + CMP_ORIENT_270, 3, 0, 1 } + { SYM_ORIENT_0, 0, 0, 0 }, + { SYM_ORIENT_90, 1, 0, 0 }, + { SYM_ORIENT_180, 2, 0, 0 }, + { SYM_ORIENT_270, 3, 0, 0 }, + { SYM_MIRROR_X + SYM_ORIENT_0, 0, 1, 0 }, + { SYM_MIRROR_X + SYM_ORIENT_90, 1, 1, 0 }, + { SYM_MIRROR_Y, 0, 0, 1 }, + { SYM_MIRROR_X + SYM_ORIENT_270, 3, 1, 0 }, + { SYM_MIRROR_Y + SYM_ORIENT_0, 0, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_90, 1, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_180, 2, 0, 1 }, + { SYM_MIRROR_Y + SYM_ORIENT_270, 3, 0, 1 } }; ORIENT o = orientations[ 0 ]; - SCH_COMPONENT* parentSymbol = aPin->GetParentSymbol(); + SCH_SYMBOL* parentSymbol = aPin->GetParentSymbol(); if( !parentSymbol ) return spin; diff --git a/eeschema/tools/ee_grid_helper.cpp b/eeschema/tools/ee_grid_helper.cpp index aff08a6464..6dbfae6473 100644 --- a/eeschema/tools/ee_grid_helper.cpp +++ b/eeschema/tools/ee_grid_helper.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 CERN - * Copyright (C) 2018-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2018-2021 KiCad Developers, see AUTHORS.txt for contributors. * @author Tomasz Wlostowski * * This program is free software; you can redistribute it and/or @@ -266,7 +266,7 @@ void EE_GRID_HELPER::computeAnchors( SCH_ITEM *aItem, const VECTOR2I &aRefPos, b { switch ( aItem->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: case SCH_SHEET_T: addAnchor( aItem->GetPosition(), ORIGIN, aItem ); KI_FALLTHROUGH; diff --git a/eeschema/tools/ee_inspection_tool.cpp b/eeschema/tools/ee_inspection_tool.cpp index 0bde80c10b..bb98f2201d 100644 --- a/eeschema/tools/ee_inspection_tool.cpp +++ b/eeschema/tools/ee_inspection_tool.cpp @@ -485,9 +485,9 @@ int EE_INSPECTION_TOOL::ShowDatasheet( const TOOL_EVENT& aEvent ) if( selection.Empty() ) return 0; - SCH_COMPONENT* component = (SCH_COMPONENT*) selection.Front(); + SCH_SYMBOL* symbol = (SCH_SYMBOL*) selection.Front(); - datasheet = component->GetField( DATASHEET_FIELD )->GetText(); + datasheet = symbol->GetField( DATASHEET_FIELD )->GetText(); } if( datasheet.IsEmpty() || datasheet == wxT( "~" ) ) diff --git a/eeschema/tools/ee_selection.cpp b/eeschema/tools/ee_selection.cpp index 0df7a5ccb7..efe4da62af 100644 --- a/eeschema/tools/ee_selection.cpp +++ b/eeschema/tools/ee_selection.cpp @@ -67,8 +67,8 @@ EDA_RECT EE_SELECTION::GetBoundingBox() const for( EDA_ITEM* item : m_items ) { - if( item->Type() == SCH_COMPONENT_T ) - bbox.Merge( static_cast( item )->GetBoundingBox( false ) ); + if( item->Type() == SCH_SYMBOL_T ) + bbox.Merge( static_cast( item )->GetBoundingBox( false ) ); else if( item->Type() == SCH_SHEET_T ) bbox.Merge( static_cast( item )->GetBodyBoundingBox() ); else @@ -86,10 +86,10 @@ void EE_SELECTION::GetSymbols( SCH_REFERENCE_LIST& aReferences, { for( EDA_ITEM* item : Items() ) { - if( item->Type() != SCH_COMPONENT_T ) + if( item->Type() != SCH_SYMBOL_T ) continue; - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); aSelectionPath.AppendSymbol( aReferences, symbol, aIncludePowerSymbols, aForceIncludeOrphanSymbols ); } @@ -102,10 +102,10 @@ void EE_SELECTION::GetMultiUnitSymbols( SCH_MULTI_UNIT_REFERENCE_MAP& aRefList, { for( EDA_ITEM* item : Items() ) { - if( item->Type() != SCH_COMPONENT_T ) + if( item->Type() != SCH_SYMBOL_T ) continue; - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); aSelectionPath.AppendMultiUnitSymbol( aRefList, symbol, aIncludePowerSymbols ); } } diff --git a/eeschema/tools/ee_selection_tool.cpp b/eeschema/tools/ee_selection_tool.cpp index 566662da25..a056ef9056 100644 --- a/eeschema/tools/ee_selection_tool.cpp +++ b/eeschema/tools/ee_selection_tool.cpp @@ -57,7 +57,7 @@ SELECTION_CONDITION EE_CONDITIONS::SingleSymbol = []( const SELECTION& aSel ) { if( aSel.GetSize() == 1 ) { - SCH_COMPONENT* symbol = dynamic_cast( aSel.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( aSel.Front() ); if( symbol ) return !symbol->GetPartRef() || !symbol->GetPartRef()->IsPower(); @@ -69,7 +69,7 @@ SELECTION_CONDITION EE_CONDITIONS::SingleSymbol = []( const SELECTION& aSel ) SELECTION_CONDITION EE_CONDITIONS::SingleSymbolOrPower = []( const SELECTION& aSel ) { - return aSel.GetSize() == 1 && aSel.Front()->Type() == SCH_COMPONENT_T; + return aSel.GetSize() == 1 && aSel.Front()->Type() == SCH_SYMBOL_T; }; @@ -77,7 +77,7 @@ SELECTION_CONDITION EE_CONDITIONS::SingleDeMorganSymbol = []( const SELECTION& a { if( aSel.GetSize() == 1 ) { - SCH_COMPONENT* symbol = dynamic_cast( aSel.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( aSel.Front() ); if( symbol ) return symbol->GetPartRef() && symbol->GetPartRef()->HasConversion(); @@ -91,7 +91,7 @@ SELECTION_CONDITION EE_CONDITIONS::SingleMultiUnitSymbol = []( const SELECTION& { if( aSel.GetSize() == 1 ) { - SCH_COMPONENT* symbol = dynamic_cast( aSel.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( aSel.Front() ); if( symbol ) return symbol->GetPartRef() && symbol->GetPartRef()->GetUnitCount() >= 2; @@ -291,7 +291,7 @@ const KICAD_T movableSchematicItems[] = SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_FIELD_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_PIN_T, SCH_SHEET_T, EOT @@ -411,7 +411,7 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent ) SCH_CONNECTION* connection = collector[0]->Connection(); if( ( connection && ( connection->IsNet() || connection->IsUnconnected() ) ) - || collector[0]->Type() == SCH_COMPONENT_T ) + || collector[0]->Type() == SCH_SYMBOL_T ) { newEvt = EE_ACTIONS::drawWire.MakeEvent(); } @@ -584,13 +584,13 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent ) { // context sub-menu selection? Handle unit selection or bus unfolding if( evt->GetCommandId().get() >= ID_POPUP_SCH_SELECT_UNIT_CMP - && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_CMP_MAX ) + && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_SYM_MAX ) { - SCH_COMPONENT* component = dynamic_cast( m_selection.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( m_selection.Front() ); int unit = evt->GetCommandId().get() - ID_POPUP_SCH_SELECT_UNIT_CMP; - if( component ) - static_cast( m_frame )->SelectUnit( component, unit ); + if( symbol ) + static_cast( m_frame )->SelectUnit( symbol, unit ); } else if( evt->GetCommandId().get() >= ID_POPUP_SCH_UNFOLD_BUS && evt->GetCommandId().get() <= ID_POPUP_SCH_UNFOLD_BUS_END ) @@ -636,7 +636,7 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent ) SCH_CONNECTION* connection = collector[0]->Connection(); if( ( connection && ( connection->IsNet() || connection->IsUnconnected() ) ) - || collector[0]->Type() == SCH_COMPONENT_T ) + || collector[0]->Type() == SCH_SYMBOL_T ) { displayWireCursor = true; } @@ -1003,7 +1003,7 @@ void EE_SELECTION_TOOL::GuessSelectionCandidates( EE_COLLECTOR& collector, const SCH_ITEM* item = collector[i]; SCH_ITEM* other = collector[( i + 1 ) % 2]; - if( item->Type() == SCH_COMPONENT_T && other->Type() == SCH_PIN_T ) + if( item->Type() == SCH_SYMBOL_T && other->Type() == SCH_PIN_T ) { // Make sure we aren't clicking on the pin anchor itself, only the rest of the // pin should select the symbol with this setting @@ -1041,7 +1041,7 @@ void EE_SELECTION_TOOL::GuessSelectionCandidates( EE_COLLECTOR& collector, const EDA_ITEM* item = collector[ i ]; EDA_ITEM* other = collector[ ( i + 1 ) % 2 ]; - if( preferred.count( item->Type() ) && other->Type() == SCH_COMPONENT_T ) + if( preferred.count( item->Type() ) && other->Type() == SCH_SYMBOL_T ) collector.Transfer( other ); } @@ -1230,7 +1230,7 @@ bool EE_SELECTION_TOOL::selectMultiple() children.emplace_back( KIGFX::VIEW::LAYER_ITEM_PAIR( pin, layer ) ); } - SCH_COMPONENT* symbol = dynamic_cast( pair.first ); + SCH_SYMBOL* symbol = dynamic_cast( pair.first ); if( symbol ) { @@ -1311,7 +1311,7 @@ bool EE_SELECTION_TOOL::selectMultiple() static KICAD_T nodeTypes[] = { - SCH_COMPONENT_LOCATE_POWER_T, + SCH_SYMBOL_LOCATE_POWER_T, SCH_PIN_T, SCH_LINE_LOCATE_WIRE_T, SCH_LINE_LOCATE_BUS_T, @@ -1520,7 +1520,7 @@ void EE_SELECTION_TOOL::RebuildSelection() { for( SCH_ITEM* item : m_frame->GetScreen()->Items() ) { - // If the field and component are selected, only use the component + // If the field and symbol are selected, only use the symbol if( item->IsSelected() ) { select( item ); @@ -1804,8 +1804,8 @@ void EE_SELECTION_TOOL::highlight( EDA_ITEM* aItem, int aMode, EE_SELECTION* aGr if( aGroup ) aGroup->Add( aItem ); - // Highlight pins and fields. (All the other component children are currently only - // represented in the LIB_PART and will inherit the settings of the parent component.) + // Highlight pins and fields. (All the other symbol children are currently only + // represented in the LIB_PART and will inherit the settings of the parent symbol.) if( SCH_ITEM* sch_item = dynamic_cast( aItem ) ) { sch_item->RunOnChildren( @@ -1837,7 +1837,7 @@ void EE_SELECTION_TOOL::unhighlight( EDA_ITEM* aItem, int aMode, EE_SELECTION* a if( aGroup ) aGroup->Remove( aItem ); - // Unhighlight pins and fields. (All the other component children are currently only + // Unhighlight pins and fields. (All the other symbol children are currently only // represented in the LIB_PART.) if( SCH_ITEM* sch_item = dynamic_cast( aItem ) ) { diff --git a/eeschema/tools/sch_drawing_tools.cpp b/eeschema/tools/sch_drawing_tools.cpp index fcf07e5a6c..ac747beb97 100644 --- a/eeschema/tools/sch_drawing_tools.cpp +++ b/eeschema/tools/sch_drawing_tools.cpp @@ -108,7 +108,7 @@ EDA_RECT SCH_DRAWING_TOOLS::GetCanvasFreeAreaPixels() int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) { - SCH_COMPONENT* symbol = aEvent.Parameter(); + SCH_SYMBOL* symbol = aEvent.Parameter(); SCHLIB_FILTER filter; std::vector* historyList = nullptr; @@ -138,7 +138,7 @@ int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) Activate(); auto addSymbol = - [&]( SCH_COMPONENT* aSymbol ) + [&]( SCH_SYMBOL* aSymbol ) { m_frame->SaveCopyForRepeatItem( aSymbol ); @@ -265,7 +265,7 @@ int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) continue; wxPoint pos( cursorPos ); - symbol = new SCH_COMPONENT( *part, &m_frame->GetCurrentSheet(), sel, pos ); + symbol = new SCH_SYMBOL( *part, &m_frame->GetCurrentSheet(), sel, pos ); addSymbol( symbol ); // Update cursor now that we have a symbol @@ -285,7 +285,7 @@ int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) m_frame->GetScreen()->Update( symbol ); m_frame->OnModify(); - SCH_COMPONENT* nextSymbol = nullptr; + SCH_SYMBOL* nextSymbol = nullptr; if( m_frame->eeconfig()->m_SymChooserPanel.place_all_units || m_frame->eeconfig()->m_SymChooserPanel.keep_symbol ) @@ -305,7 +305,7 @@ int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) // We are either stepping to the next unit or next symbol if( m_frame->eeconfig()->m_SymChooserPanel.keep_symbol || new_unit > 1 ) { - nextSymbol = static_cast( symbol->Duplicate() ); + nextSymbol = static_cast( symbol->Duplicate() ); nextSymbol->SetUnit( new_unit ); nextSymbol->SetUnitSelection( new_unit ); @@ -327,7 +327,7 @@ int SCH_DRAWING_TOOLS::PlaceSymbol( const TOOL_EVENT& aEvent ) else if( evt->Category() == TC_COMMAND && evt->Action() == TA_CHOICE_MENU_CHOICE ) { if( evt->GetCommandId().get() >= ID_POPUP_SCH_SELECT_UNIT_CMP - && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_CMP_MAX ) + && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_SYM_MAX ) { int unit = evt->GetCommandId().get() - ID_POPUP_SCH_SELECT_UNIT_CMP; diff --git a/eeschema/tools/sch_drawing_tools.h b/eeschema/tools/sch_drawing_tools.h index f0ec7e6d0d..87de85e94d 100644 --- a/eeschema/tools/sch_drawing_tools.h +++ b/eeschema/tools/sch_drawing_tools.h @@ -29,7 +29,7 @@ #include #include -class SCH_COMPONENT; +class SCH_SYMBOL; class SCH_BUS_WIRE_ENTRY; class SCH_LABEL; class SCHLIB_FILTER; diff --git a/eeschema/tools/sch_edit_tool.cpp b/eeschema/tools/sch_edit_tool.cpp index 82dd1bec66..dc148daecf 100644 --- a/eeschema/tools/sch_edit_tool.cpp +++ b/eeschema/tools/sch_edit_tool.cpp @@ -92,7 +92,7 @@ private: { EE_SELECTION_TOOL* selTool = getToolManager()->GetTool(); EE_SELECTION& selection = selTool->GetSelection(); - SCH_COMPONENT* symbol = dynamic_cast( selection.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( selection.Front() ); Clear(); @@ -122,9 +122,9 @@ private: if( unit == ii + 1 ) item->Check(true); - // The ID max for these submenus is ID_POPUP_SCH_SELECT_UNIT_CMP_MAX + // The ID max for these submenus is ID_POPUP_SCH_SELECT_UNIT_SYM_MAX // See eeschema_id to modify this value. - if( ii >= (ID_POPUP_SCH_SELECT_UNIT_CMP_MAX - ID_POPUP_SCH_SELECT_UNIT1) ) + if( ii >= (ID_POPUP_SCH_SELECT_UNIT_SYM_MAX - ID_POPUP_SCH_SELECT_UNIT1) ) break; // We have used all IDs for these submenus } } @@ -232,7 +232,7 @@ bool SCH_EDIT_TOOL::Init() switch( firstItem->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: case SCH_SHEET_T: case SCH_SHEET_PIN_T: case SCH_TEXT_T: @@ -270,7 +270,7 @@ bool SCH_EDIT_TOOL::Init() static KICAD_T entryTypes[] = { SCH_BUS_WIRE_ENTRY_T, SCH_BUS_BUS_ENTRY_T, EOT }; auto entryCondition = E_C::MoreThan( 0 ) && E_C::OnlyTypes( entryTypes ); - static KICAD_T fieldParentTypes[] = { SCH_COMPONENT_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; + static KICAD_T fieldParentTypes[] = { SCH_SYMBOL_T, SCH_SHEET_T, SCH_GLOBAL_LABEL_T, EOT }; auto singleFieldParentCondition = E_C::Count( 1 ) && E_C::OnlyTypes( fieldParentTypes ); auto singleSheetCondition = E_C::Count( 1 ) && E_C::OnlyType( SCH_SHEET_T ); @@ -393,7 +393,7 @@ const KICAD_T rotatableItems[] = { SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_FIELD_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_BITMAP_T, @@ -445,14 +445,14 @@ int SCH_EDIT_TOOL::Rotate( const TOOL_EVENT& aEvent ) switch( head->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: { - SCH_COMPONENT* symbol = static_cast( head ); + SCH_SYMBOL* symbol = static_cast( head ); if( clockwise ) - symbol->SetOrientation( CMP_ROTATE_CLOCKWISE ); + symbol->SetOrientation( SYM_ROTATE_CLOCKWISE ); else - symbol->SetOrientation( CMP_ROTATE_COUNTERCLOCKWISE ); + symbol->SetOrientation( SYM_ROTATE_COUNTERCLOCKWISE ); if( m_frame->eeconfig()->m_AutoplaceFields.enable ) symbol->AutoAutoplaceFields( m_frame->GetScreen() ); @@ -638,14 +638,14 @@ int SCH_EDIT_TOOL::Mirror( const TOOL_EVENT& aEvent ) switch( item->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); if( vertical ) - symbol->SetOrientation( CMP_MIRROR_X ); + symbol->SetOrientation( SYM_MIRROR_X ); else - symbol->SetOrientation( CMP_MIRROR_Y ); + symbol->SetOrientation( SYM_MIRROR_Y ); if( m_frame->eeconfig()->m_AutoplaceFields.enable ) symbol->AutoAutoplaceFields( m_frame->GetScreen() ); @@ -808,7 +808,7 @@ int SCH_EDIT_TOOL::RepeatDrawItem( const TOOL_EVENT& aEvent ) bool performDrag = false; // If cloning a symbol then put into 'move' mode. - if( newItem->Type() == SCH_COMPONENT_T ) + if( newItem->Type() == SCH_SYMBOL_T ) { wxPoint cursorPos = (wxPoint) getViewControls()->GetCursorPosition( true ); newItem->Move( cursorPos - newItem->GetPosition() ); @@ -894,7 +894,7 @@ static KICAD_T deletableItems[] = SCH_NO_CONNECT_T, SCH_SHEET_T, SCH_SHEET_PIN_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_BITMAP_T, EOT }; @@ -1087,9 +1087,9 @@ void SCH_EDIT_TOOL::editFieldText( SCH_FIELD* aField ) int SCH_EDIT_TOOL::EditField( const TOOL_EVENT& aEvent ) { static KICAD_T Nothing[] = { EOT }; - static KICAD_T CmpOrReference[] = { SCH_FIELD_LOCATE_REFERENCE_T, SCH_COMPONENT_T, EOT }; - static KICAD_T CmpOrValue[] = { SCH_FIELD_LOCATE_VALUE_T, SCH_COMPONENT_T, EOT }; - static KICAD_T CmpOrFootprint[] = { SCH_FIELD_LOCATE_FOOTPRINT_T, SCH_COMPONENT_T, EOT }; + static KICAD_T CmpOrReference[] = { SCH_FIELD_LOCATE_REFERENCE_T, SCH_SYMBOL_T, EOT }; + static KICAD_T CmpOrValue[] = { SCH_FIELD_LOCATE_VALUE_T, SCH_SYMBOL_T, EOT }; + static KICAD_T CmpOrFootprint[] = { SCH_FIELD_LOCATE_FOOTPRINT_T, SCH_SYMBOL_T, EOT }; KICAD_T* filter = Nothing; @@ -1107,9 +1107,9 @@ int SCH_EDIT_TOOL::EditField( const TOOL_EVENT& aEvent ) SCH_ITEM* item = (SCH_ITEM*) selection.Front(); - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = (SCH_COMPONENT*) item; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) item; if( aEvent.IsAction( &EE_ACTIONS::editReference ) ) editFieldText( symbol->GetField( REFERENCE_FIELD ) ); @@ -1156,11 +1156,11 @@ int SCH_EDIT_TOOL::AutoplaceFields( const TOOL_EVENT& aEvent ) int SCH_EDIT_TOOL::ChangeSymbols( const TOOL_EVENT& aEvent ) { - SCH_COMPONENT* selectedSymbol = nullptr; + SCH_SYMBOL* selectedSymbol = nullptr; EE_SELECTION& selection = m_selectionTool->RequestSelection( EE_COLLECTOR::ComponentsOnly ); if( !selection.Empty() ) - selectedSymbol = dynamic_cast( selection.Front() ); + selectedSymbol = dynamic_cast( selection.Front() ); DIALOG_CHANGE_SYMBOLS::MODE mode = DIALOG_CHANGE_SYMBOLS::MODE::UPDATE; @@ -1185,7 +1185,7 @@ int SCH_EDIT_TOOL::ConvertDeMorgan( const TOOL_EVENT& aEvent ) if( selection.Empty() ) return 0; - SCH_COMPONENT* symbol = (SCH_COMPONENT*) selection.Front(); + SCH_SYMBOL* symbol = (SCH_SYMBOL*) selection.Front(); if( aEvent.IsAction( &EE_ACTIONS::showDeMorganStandard ) && symbol->GetConvert() == LIB_ITEM::LIB_CONVERT::BASE ) @@ -1258,9 +1258,9 @@ int SCH_EDIT_TOOL::Properties( const TOOL_EVENT& aEvent ) switch( item->Type() ) { - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: { - SCH_COMPONENT* symbol = (SCH_COMPONENT*) item; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) item; DIALOG_SYMBOL_PROPERTIES symbolPropsDialog( m_frame, symbol ); // This dialog itself subsequently can invoke a KIWAY_PLAYER as a quasimodal @@ -1279,7 +1279,8 @@ int SCH_EDIT_TOOL::Properties( const TOOL_EVENT& aEvent ) } else if( retval == SYMBOL_PROPS_EDIT_SCHEMATIC_SYMBOL ) { - auto editor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, true ); + auto editor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, + true ); editor->LoadSymbolFromSchematic( symbol ); @@ -1288,7 +1289,8 @@ int SCH_EDIT_TOOL::Properties( const TOOL_EVENT& aEvent ) } else if( retval == SYMBOL_PROPS_EDIT_LIBRARY_SYMBOL ) { - auto editor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, true ); + auto editor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, + true ); editor->LoadSymbol( symbol->GetLibId(), symbol->GetUnit(), symbol->GetConvert() ); diff --git a/eeschema/tools/sch_editor_control.cpp b/eeschema/tools/sch_editor_control.cpp index 9cbffe3b5e..8c15ee48a0 100644 --- a/eeschema/tools/sch_editor_control.cpp +++ b/eeschema/tools/sch_editor_control.cpp @@ -320,9 +320,9 @@ SCH_ITEM* SCH_EDITOR_CONTROL::nextMatch( SCH_SCREEN* aScreen, SCH_SHEET_PATH* aS if( item->Matches( *aData, aSheet ) ) return item; - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* cmp = static_cast( item ); + SCH_SYMBOL* cmp = static_cast( item ); for( SCH_FIELD& field : cmp->GetFields() ) { @@ -548,7 +548,7 @@ void SCH_EDITOR_CONTROL::doCrossProbeSchToPcb( const TOOL_EVENT& aEvent, bool aF EE_SELECTION_TOOL* selTool = m_toolMgr->GetTool(); SCH_ITEM* item = nullptr; - SCH_COMPONENT* symbol = nullptr; + SCH_SYMBOL* symbol = nullptr; if( aForce ) { @@ -578,20 +578,20 @@ void SCH_EDITOR_CONTROL::doCrossProbeSchToPcb( const TOOL_EVENT& aEvent, bool aF { case SCH_FIELD_T: case LIB_FIELD_T: - if( item->GetParent() && item->GetParent()->Type() == SCH_COMPONENT_T ) + if( item->GetParent() && item->GetParent()->Type() == SCH_SYMBOL_T ) { - symbol = (SCH_COMPONENT*) item->GetParent(); + symbol = (SCH_SYMBOL*) item->GetParent(); m_frame->SendMessageToPCBNEW( item, symbol ); } break; - case SCH_COMPONENT_T: - symbol = (SCH_COMPONENT*) item; + case SCH_SYMBOL_T: + symbol = (SCH_SYMBOL*) item; m_frame->SendMessageToPCBNEW( item, symbol ); break; case SCH_PIN_T: - symbol = (SCH_COMPONENT*) item->GetParent(); + symbol = (SCH_SYMBOL*) item->GetParent(); m_frame->SendMessageToPCBNEW( static_cast( item ), symbol ); break; @@ -610,7 +610,7 @@ void SCH_EDITOR_CONTROL::doCrossProbeSchToPcb( const TOOL_EVENT& aEvent, bool aF static KICAD_T wires[] = { SCH_LINE_LOCATE_WIRE_T, EOT }; static KICAD_T wiresAndPins[] = { SCH_LINE_LOCATE_WIRE_T, SCH_PIN_T, SCH_SHEET_PIN_T, EOT }; -static KICAD_T fieldsAndComponents[] = { SCH_COMPONENT_T, SCH_FIELD_T, EOT }; +static KICAD_T fieldsAndComponents[] = { SCH_SYMBOL_T, SCH_FIELD_T, EOT }; #define HITTEST_THRESHOLD_PIXELS 5 @@ -646,10 +646,10 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent ) } else if( item->Type() == SCH_PIN_T ) { - SCH_PIN* pin = (SCH_PIN*) item; - SCH_COMPONENT* symbol = (SCH_COMPONENT*) item->GetParent(); - wxString param; - wxString primitive; + SCH_PIN* pin = (SCH_PIN*) item; + SCH_SYMBOL* symbol = (SCH_SYMBOL*) item->GetParent(); + wxString param; + wxString primitive; primitive = NETLIST_EXPORTER_PSPICE::GetSpiceField( SF_PRIMITIVE, symbol, 0 ); primitive.LowerCase(); @@ -760,11 +760,11 @@ int SCH_EDITOR_CONTROL::SimTune( const TOOL_EVENT& aEvent ) if( !item ) return false; - if( item->Type() != SCH_COMPONENT_T ) + if( item->Type() != SCH_SYMBOL_T ) { item = item->GetParent(); - if( item->Type() != SCH_COMPONENT_T ) + if( item->Type() != SCH_SYMBOL_T ) return false; } @@ -772,7 +772,7 @@ int SCH_EDITOR_CONTROL::SimTune( const TOOL_EVENT& aEvent ) (SIM_PLOT_FRAME*) m_frame->Kiway().Player( FRAME_SIMULATOR, false ); if( simFrame ) - simFrame->AddTuner( static_cast( item ) ); + simFrame->AddTuner( static_cast( item ) ); return true; } ); @@ -842,13 +842,13 @@ static bool highlightNet( TOOL_MANAGER* aToolMgr, const VECTOR2D& aPosition ) } else { - SCH_ITEM* item = static_cast( selTool->GetNode( aPosition ) ); - SCH_COMPONENT* symbol = dynamic_cast( item ); + SCH_ITEM* item = static_cast( selTool->GetNode( aPosition ) ); + SCH_SYMBOL* symbol = dynamic_cast( item ); if( item ) { if( item->Type() == SCH_FIELD_T ) - symbol = dynamic_cast( item->GetParent() ); + symbol = dynamic_cast( item->GetParent() ); if( symbol && symbol->GetPartRef() && symbol->GetPartRef()->IsPower() ) { @@ -1009,12 +1009,12 @@ int SCH_EDITOR_CONTROL::UpdateNetHighlighting( const TOOL_EVENT& aEvent ) for( SCH_ITEM* item : screen->Items() ) { SCH_CONNECTION* itemConn = nullptr; - SCH_COMPONENT* symbol = nullptr; + SCH_SYMBOL* symbol = nullptr; bool redraw = item->IsBrightened(); bool highlight = false; - if( item->Type() == SCH_COMPONENT_T ) - symbol = static_cast( item ); + if( item->Type() == SCH_SYMBOL_T ) + symbol = static_cast( item ); if( symbol && symbol->GetPartRef() && symbol->GetPartRef()->IsPower() ) itemConn = symbol->Connection(); @@ -1066,7 +1066,7 @@ int SCH_EDITOR_CONTROL::UpdateNetHighlighting( const TOOL_EVENT& aEvent ) redraw |= item->IsBrightened(); - // symbol is only non-null if the item is a SCH_COMPONENT_T + // symbol is only non-null if the item is a SCH_SYMBOL_T if( symbol ) { redraw |= symbol->HasBrightenedPins(); @@ -1314,7 +1314,7 @@ int SCH_EDITOR_CONTROL::Copy( const TOOL_EVENT& aEvent ) } -void SCH_EDITOR_CONTROL::updatePastedSymbol( SCH_COMPONENT* aSymbol, SCH_SCREEN* aPasteScreen, +void SCH_EDITOR_CONTROL::updatePastedSymbol( SCH_SYMBOL* aSymbol, SCH_SCREEN* aPasteScreen, const SCH_SHEET_PATH& aPastePath, const KIID_PATH& aClipPath, bool aForceKeepAnnotations ) @@ -1387,9 +1387,9 @@ SCH_SHEET_PATH SCH_EDITOR_CONTROL::updatePastedSheet( const SCH_SHEET_PATH& aPas for( SCH_ITEM* item : aSheet->GetScreen()->Items() ) { - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); updatePastedSymbol( symbol, aSheet->GetScreen(), sheetPath, aClipPath, aForceKeepAnnotations ); @@ -1555,9 +1555,9 @@ int SCH_EDITOR_CONTROL::Paste( const TOOL_EVENT& aEvent ) EDA_ITEM* item = loadedItems[i]; KIID_PATH clipPath( wxT("/") ); // clipboard is at root - if( item->Type() == SCH_COMPONENT_T ) + if( item->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = static_cast( item ); + SCH_SYMBOL* symbol = static_cast( item ); // The library symbol gets set from the cached library symbols in the current // schematic not the symbol libraries. The cached library symbol may have @@ -1770,11 +1770,11 @@ int SCH_EDITOR_CONTROL::EditWithSymbolEditor( const TOOL_EVENT& aEvent ) { EE_SELECTION_TOOL* selTool = m_toolMgr->GetTool(); EE_SELECTION& selection = selTool->RequestSelection( EE_COLLECTOR::ComponentsOnly ); - SCH_COMPONENT* symbol = nullptr; + SCH_SYMBOL* symbol = nullptr; SYMBOL_EDIT_FRAME* symbolEditor; if( selection.GetSize() >= 1 ) - symbol = (SCH_COMPONENT*) selection.Front(); + symbol = (SCH_SYMBOL*) selection.Front(); if( !symbol || symbol->GetEditFlags() != 0 ) return 0; diff --git a/eeschema/tools/sch_editor_control.h b/eeschema/tools/sch_editor_control.h index c7c885b2cc..bd5e8730bf 100644 --- a/eeschema/tools/sch_editor_control.h +++ b/eeschema/tools/sch_editor_control.h @@ -161,7 +161,7 @@ private: void doCrossProbeSchToPcb( const TOOL_EVENT& aEvent, bool aForce ); - void updatePastedSymbol( SCH_COMPONENT* aSymbol, SCH_SCREEN* aPasteScreen, + void updatePastedSymbol( SCH_SYMBOL* aSymbol, SCH_SCREEN* aPasteScreen, const SCH_SHEET_PATH& aPastePath, const KIID_PATH& aClipPath, bool aForceKeepAnnotations ); diff --git a/eeschema/tools/sch_line_wire_bus_tool.cpp b/eeschema/tools/sch_line_wire_bus_tool.cpp index deffde1f08..e1517e237f 100644 --- a/eeschema/tools/sch_line_wire_bus_tool.cpp +++ b/eeschema/tools/sch_line_wire_bus_tool.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2019 CERN - * Copyright (C) 2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2019-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -926,7 +926,7 @@ void SCH_LINE_WIRE_BUS_TOOL::finishSegments() std::vector symbols; - for( SCH_ITEM* symbol : m_frame->GetScreen()->Items().OfType( SCH_COMPONENT_T ) ) + for( SCH_ITEM* symbol : m_frame->GetScreen()->Items().OfType( SCH_SYMBOL_T ) ) symbols.push_back( symbol ); for( SCH_ITEM* symbol : symbols ) diff --git a/eeschema/tools/sch_move_tool.cpp b/eeschema/tools/sch_move_tool.cpp index 6d320ed525..be3bb84e2a 100644 --- a/eeschema/tools/sch_move_tool.cpp +++ b/eeschema/tools/sch_move_tool.cpp @@ -418,9 +418,9 @@ int SCH_MOVE_TOOL::Main( const TOOL_EVENT& aEvent ) else if( evt->Action() == TA_CHOICE_MENU_CHOICE ) { if( evt->GetCommandId().get() >= ID_POPUP_SCH_SELECT_UNIT_CMP - && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_CMP_MAX ) + && evt->GetCommandId().get() <= ID_POPUP_SCH_SELECT_UNIT_SYM_MAX ) { - SCH_COMPONENT* symbol = dynamic_cast( selection.Front() ); + SCH_SYMBOL* symbol = dynamic_cast( selection.Front() ); int unit = evt->GetCommandId().get() - ID_POPUP_SCH_SELECT_UNIT_CMP; if( symbol ) @@ -594,7 +594,7 @@ void SCH_MOVE_TOOL::getConnectedDragItems( SCH_ITEM* aOriginalItem, wxPoint aPoi } case SCH_SHEET_T: - case SCH_COMPONENT_T: + case SCH_SYMBOL_T: case SCH_JUNCTION_T: if( test->IsConnected( aPoint ) ) { @@ -733,10 +733,10 @@ void SCH_MOVE_TOOL::moveItem( EDA_ITEM* aItem, const VECTOR2I& aDelta ) SCH_ITEM* parent = (SCH_ITEM*) aItem->GetParent(); wxPoint delta( aDelta ); - if( parent && parent->Type() == SCH_COMPONENT_T ) + if( parent && parent->Type() == SCH_SYMBOL_T ) { - SCH_COMPONENT* symbol = (SCH_COMPONENT*) aItem->GetParent(); - TRANSFORM transform = symbol->GetTransform().InverseTransform(); + SCH_SYMBOL* symbol = (SCH_SYMBOL*) aItem->GetParent(); + TRANSFORM transform = symbol->GetTransform().InverseTransform(); delta = transform.TransformCoordinate( delta ); } diff --git a/eeschema/tools/symbol_editor_control.cpp b/eeschema/tools/symbol_editor_control.cpp index 654aad7b3f..8f4ba0ee4e 100644 --- a/eeschema/tools/symbol_editor_control.cpp +++ b/eeschema/tools/symbol_editor_control.cpp @@ -509,8 +509,8 @@ int SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic( const TOOL_EVENT& aEvent ) wxCHECK( part->GetLibId().IsValid(), 0 ); - SCH_COMPONENT* symbol = new SCH_COMPONENT( *part, libId, &schframe->GetCurrentSheet(), - unit, convert ); + SCH_SYMBOL* symbol = new SCH_SYMBOL( *part, libId, &schframe->GetCurrentSheet(), + unit, convert ); symbol->SetParent( schframe->GetScreen() ); diff --git a/eeschema/widgets/symbol_tree_pane.cpp b/eeschema/widgets/symbol_tree_pane.cpp index 772a9048d2..301b94fbd3 100644 --- a/eeschema/widgets/symbol_tree_pane.cpp +++ b/eeschema/widgets/symbol_tree_pane.cpp @@ -49,7 +49,7 @@ SYMBOL_TREE_PANE::SYMBOL_TREE_PANE( SYMBOL_EDIT_FRAME* aParent, SYMBOL_LIBRARY_M m_libMgr->GetAdapter()->FinishTreeInitialization(); // Event handlers - Bind( COMPONENT_SELECTED, &SYMBOL_TREE_PANE::onComponentSelected, this ); + Bind( SYMBOL_SELECTED, &SYMBOL_TREE_PANE::onComponentSelected, this ); m_tree->Bind( wxEVT_UPDATE_UI, &SYMBOL_TREE_PANE::onUpdateUI, this ); } diff --git a/eeschema/widgets/symbol_tree_pane.h b/eeschema/widgets/symbol_tree_pane.h index f37eb4b27d..d855fadd01 100644 --- a/eeschema/widgets/symbol_tree_pane.h +++ b/eeschema/widgets/symbol_tree_pane.h @@ -22,8 +22,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef CMP_TREE_PANE_H -#define CMP_TREE_PANE_H +#ifndef SYM_TREE_PANE_H +#define SYM_TREE_PANE_H #include #include @@ -57,4 +57,4 @@ protected: SYMBOL_LIBRARY_MANAGER* m_libMgr; }; -#endif /* CMP_TREE_PANE_H */ +#endif /* SYM_TREE_PANE_H */ diff --git a/eeschema/widgets/tuner_slider.cpp b/eeschema/widgets/tuner_slider.cpp index a746c33c7d..cc4660e5ca 100644 --- a/eeschema/widgets/tuner_slider.cpp +++ b/eeschema/widgets/tuner_slider.cpp @@ -31,13 +31,13 @@ #include #include -TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent, SCH_COMPONENT* aComponent ) - : TUNER_SLIDER_BASE( aParent ), m_component( aComponent ), +TUNER_SLIDER::TUNER_SLIDER( SIM_PLOT_FRAME* aFrame, wxWindow* aParent, SCH_SYMBOL* aSymbol ) + : TUNER_SLIDER_BASE( aParent ), m_symbol( aSymbol ), m_min( 0.0 ), m_max( 0.0 ), m_value( 0.0 ), m_frame ( aFrame ) { - const wxString compName = aComponent->GetField( REFERENCE_FIELD )->GetText(); + const wxString compName = aSymbol->GetField( REFERENCE_FIELD )->GetText(); m_name->SetLabel( compName ); - m_value = SPICE_VALUE( aComponent->GetField( VALUE_FIELD )->GetText() ); + m_value = SPICE_VALUE( aSymbol->GetField( VALUE_FIELD )->GetText() ); m_changed = false; m_spiceName = aFrame->GetExporter()->GetSpiceDevice( compName ).Lower(); @@ -139,8 +139,8 @@ void TUNER_SLIDER::onClose( wxCommandEvent& event ) void TUNER_SLIDER::onSave( wxCommandEvent& event ) { - /// @todo it will crash when component is removed; completely remove m_component - m_component->GetField( VALUE_FIELD )->SetText( m_value.ToOrigString() ); + /// @todo it will crash when component is removed; completely remove m_symbol + m_symbol->GetField( VALUE_FIELD )->SetText( m_value.ToOrigString() ); } diff --git a/eeschema/widgets/tuner_slider.h b/eeschema/widgets/tuner_slider.h index 1f02f9fe8f..2001e49128 100644 --- a/eeschema/widgets/tuner_slider.h +++ b/eeschema/widgets/tuner_slider.h @@ -34,7 +34,7 @@ #include class SIM_PLOT_FRAME; -class SCH_COMPONENT; +class SCH_SYMBOL; /** * Custom widget to handle quick component values modification and simulation on the fly. @@ -42,7 +42,7 @@ class SCH_COMPONENT; class TUNER_SLIDER : public TUNER_SLIDER_BASE { public: - TUNER_SLIDER( SIM_PLOT_FRAME *aFrame, wxWindow* aParent, SCH_COMPONENT* aComponent ); + TUNER_SLIDER( SIM_PLOT_FRAME *aFrame, wxWindow* aParent, SCH_SYMBOL* aComponent ); wxString GetComponentName() const { @@ -93,7 +93,7 @@ private: ///< Timer that restarts the simulation after the slider value has changed wxTimer m_simTimer; - SCH_COMPONENT* m_component; + SCH_SYMBOL* m_symbol; SPICE_VALUE m_min, m_max, m_value; bool m_changed; diff --git a/include/core/typeinfo.h b/include/core/typeinfo.h index 6ebc712208..3de78c8569 100644 --- a/include/core/typeinfo.h +++ b/include/core/typeinfo.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 CERN - * Copyright (C) 2004-2020 KiCad Developers, see change_log.txt for contributors. + * Copyright (C) 2004-2021 KiCad Developers, see change_log.txt for contributors. * @author Tomasz Wlostowski * * This program is free software; you can redistribute it and/or @@ -31,7 +31,7 @@ #include /** - * Checks if the type of aObject is T. + * Check if the type of aObject is T. * * @param aObject the object for type check. * @return true, if aObject type equals T. @@ -132,7 +132,7 @@ enum KICAD_T SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_FIELD_T, - SCH_COMPONENT_T, + SCH_SYMBOL_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_PIN_T, @@ -154,8 +154,8 @@ enum KICAD_T SCH_LABEL_LOCATE_WIRE_T, SCH_LABEL_LOCATE_BUS_T, - // Same for picking components which are power symbols - SCH_COMPONENT_LOCATE_POWER_T, + // Same for picking symbols which are power symbols + SCH_SYMBOL_LOCATE_POWER_T, // matches any type SCH_LOCATE_ANY_T, @@ -166,10 +166,10 @@ enum KICAD_T SCHEMATIC_T, /* - * Draw items in library component. + * Draw items in library symbol. * * The order of these items effects the sort order for items inside the - * "DRAW/ENDDRAW" section of the component definition in a library file. + * "DRAW/ENDDRAW" section of the symbol definition in a library file. * If you add a new draw item, type, please make sure you add it so the * sort order is logical. */ @@ -224,7 +224,7 @@ enum KICAD_T }; /** - * Returns the underlying type of the given type. + * Return the underlying type of the given type. * * This is useful for finding the element type given one of the "non-type" types such as * SCH_LINE_LOCATE_WIRE_T. @@ -251,8 +251,8 @@ constexpr KICAD_T BaseType( const KICAD_T aType ) case SCH_LABEL_LOCATE_BUS_T: return SCH_LABEL_T; - case SCH_COMPONENT_LOCATE_POWER_T: - return SCH_COMPONENT_T; + case SCH_SYMBOL_LOCATE_POWER_T: + return SCH_SYMBOL_T; case PCB_LOCATE_HOLE_T: case PCB_LOCATE_PTH_T: diff --git a/include/lib_tree_model_adapter.h b/include/lib_tree_model_adapter.h index dd7cc14d87..3e63aa4897 100644 --- a/include/lib_tree_model_adapter.h +++ b/include/lib_tree_model_adapter.h @@ -3,7 +3,7 @@ * * Copyright (C) 2017 Chris Pavlina * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2014-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2014-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -32,10 +32,10 @@ #include /** - * Adapter class in the component selector Model-View-Adapter (mediated MVC) + * Adapter class in the symbol selector Model-View-Adapter (mediated MVC) * architecture. The other pieces are in: * - * - Model: CMP_TREE_NODE and descendants in eeschema/cmp_tree_model.h + * - Model: SYM_TREE_NODE and descendants in eeschema/cmp_tree_model.h * - View: * - DIALOG_CHOOSE_COMPONENT in eeschema/dialogs/dialog_choose_component.h * - wxDataViewCtrl @@ -104,12 +104,12 @@ public: ~LIB_TREE_MODEL_ADAPTER(); /** - * This enum allows a selective filtering of components to list + * This enum allows a selective filtering of symbols to list */ - enum CMP_FILTER_TYPE + enum SYM_FILTER_TYPE { - CMP_FILTER_NONE, ///< no filtering - CMP_FILTER_POWER, ///< list components flagged PWR + SYM_FILTER_NONE, ///< no filtering + SYM_FILTER_POWER, ///< list symbols flagged PWR }; /** @@ -130,16 +130,16 @@ public: void SavePinnedItems(); /** - * Set the component filter type. Must be set before adding libraries + * Set the symbol filter type. Must be set before adding libraries * - * @param aFilter if CMP_FILTER_POWER, only power parts are loaded + * @param aFilter if SYM_FILTER_POWER, only power parts are loaded */ - void SetFilter( CMP_FILTER_TYPE aFilter ); + void SetFilter( SYM_FILTER_TYPE aFilter ); /** * Return the active filter. */ - CMP_FILTER_TYPE GetFilter() const { return m_filter; } + SYM_FILTER_TYPE GetFilter() const { return m_filter; } /** * Whether or not to show units. May be set at any time; updates at the next @@ -150,7 +150,7 @@ public: void ShowUnits( bool aShow ); /** - * Set the component name to be selected if there are no search results. + * Set the symbol name to be selected if there are no search results. * May be set at any time; updates at the next UpdateSearchString(). * * @param aLibId symbol #LIB_ID to be selected @@ -159,12 +159,12 @@ public: void SetPreselectNode( LIB_ID const& aLibId, int aUnit ); /** - * Add the given list of components by alias. To be called in the setup + * Add the given list of symbols by alias. To be called in the setup * phase. * - * @param aNodeName the parent node the components will appear under + * @param aNodeName the parent node the symbols will appear under * @param aDesc the description field of the parent node - * @param aItemList list of components + * @param aItemList list of symbols */ void DoAddLibrary( wxString const& aNodeName, wxString const& aDesc, std::vector const& aItemList, bool presorted ); @@ -187,7 +187,7 @@ public: * Attach to a wxDataViewCtrl and initialize it. This will set up columns * and associate the model via the adapter. * - * @param aDataViewCtrl the view component in the dialog + * @param aDataViewCtrl the view symbol in the dialog */ void AttachTo( wxDataViewCtrl* aDataViewCtrl ); @@ -233,7 +233,7 @@ public: virtual wxString GenerateInfo( LIB_ID const& aLibId, int aUnit ) { return wxEmptyString; }; /** - * Return the number of components loaded in the tree. + * Return the number of symbols loaded in the tree. */ int GetItemCount() const; @@ -274,12 +274,24 @@ public: virtual TOOL_INTERACTIVE* GetContextMenuTool() { return nullptr; } protected: + /** + * Convert #SYM_TREE_NODE -> wxDataViewItem. + */ static wxDataViewItem ToItem( LIB_TREE_NODE const* aNode ); + + /** + * Convert wxDataViewItem -> #SYM_TREE_NODE. + */ static LIB_TREE_NODE* ToNode( wxDataViewItem aItem ); + + /** + * Convert SYM_TREE_NODE's children to wxDataViewItemArray. + */ static unsigned int IntoArray( LIB_TREE_NODE const& aNode, wxDataViewItemArray& aChildren ); /** - * Creates the adapter + * Create the adapter. + * * @param aParent is the parent frame * @param aPinnedKey is the key to load the pinned libraries list from the project file */ @@ -381,7 +393,7 @@ protected: private: EDA_BASE_FRAME* m_parent; - CMP_FILTER_TYPE m_filter; + SYM_FILTER_TYPE m_filter; bool m_show_units; LIB_ID m_preselect_lib_id; int m_preselect_unit; diff --git a/include/widgets/lib_tree.h b/include/widgets/lib_tree.h index 81b9401ffd..5946cb518d 100644 --- a/include/widgets/lib_tree.h +++ b/include/widgets/lib_tree.h @@ -37,7 +37,7 @@ class LIB_ID; class LIB_TABLE; /** - * Widget displaying a tree of components with optional search text control and description panel. + * Widget displaying a tree of symbols with optional search text control and description panel. */ class LIB_TREE : public wxPanel { @@ -46,7 +46,7 @@ public: enum WIDGETS { NONE = 0x00, SEARCH = 0x01, DETAILS = 0x02, ALL = 0xFF }; /** - * Construct a component tree. + * Construct a symbol tree. * * @param aParent parent window containing this tree widget * @param aLibTable table containing libraries and items to display @@ -62,7 +62,7 @@ public: ~LIB_TREE() override; /** - * For multi-unit components, if the user selects the component itself + * For multi-unit symbols, if the user selects the symbol itself * rather than picking an individual unit, 0 will be returned in aUnit. * Beware that this is an invalid unit number - this should be replaced * with whatever default is desired (usually 1). @@ -128,12 +128,12 @@ protected: void postPreselectEvent(); /** - * Post COMPONENT_SELECTED event to notify the selection handler that a part has been selected. + * Post SYMBOL_SELECTED event to notify the selection handler that a part has been selected. */ void postSelectEvent(); /** - * Structure storing state of the component tree widget. + * Structure storing state of the symbol tree widget. */ struct STATE { @@ -146,12 +146,12 @@ protected: }; /** - * Return the component tree widget state. + * Return the symbol tree widget state. */ STATE getState() const; /** - * Restore the component tree widget state from an object. + * Restore the symbol tree widget state from an object. */ void setState( const STATE& aState ); @@ -178,10 +178,10 @@ protected: LIB_ID m_last_libid; }; -///< Custom event sent when a new component is preselected -wxDECLARE_EVENT( COMPONENT_PRESELECTED, wxCommandEvent ); +///< Custom event sent when a new symbol is preselected +wxDECLARE_EVENT( SYMBOL_PRESELECTED, wxCommandEvent ); -///< Custom event sent when a component is selected -wxDECLARE_EVENT( COMPONENT_SELECTED, wxCommandEvent ); +///< Custom event sent when a symbol is selected +wxDECLARE_EVENT( SYMBOL_SELECTED, wxCommandEvent ); #endif /* LIB_TREE_H */ diff --git a/pcbnew/dialogs/dialog_choose_footprint.cpp b/pcbnew/dialogs/dialog_choose_footprint.cpp index edb04b396c..091ce1167a 100644 --- a/pcbnew/dialogs/dialog_choose_footprint.cpp +++ b/pcbnew/dialogs/dialog_choose_footprint.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 Henner Zeller - * Copyright (C) 2016-2019 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2016-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -57,10 +57,10 @@ DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT( PCB_BASE_FRAME* aParent, wxHtmlWindow* details = nullptr; m_vsplitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, - wxSP_LIVE_UPDATE ); + wxSP_LIVE_UPDATE ); m_hsplitter = new wxSplitterWindow( m_vsplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, - wxSP_LIVE_UPDATE ); + wxSP_LIVE_UPDATE ); //Avoid the splitter window being assigned as the Parent to additional windows m_hsplitter->SetExtraStyle( wxWS_EX_TRANSIENT ); @@ -82,7 +82,7 @@ DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT( PCB_BASE_FRAME* aParent, sizer->Add( m_vsplitter, 1, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 5 ); m_tree = new LIB_TREE( m_hsplitter, Prj().PcbFootprintLibs(), aAdapter, - LIB_TREE::WIDGETS::ALL, details ); + LIB_TREE::WIDGETS::ALL, details ); m_hsplitter->SetSashGravity( 0.8 ); m_hsplitter->SetMinimumPaneSize( 20 ); @@ -110,9 +110,10 @@ DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT( PCB_BASE_FRAME* aParent, aAdapter->FinishTreeInitialization(); Bind( wxEVT_TIMER, &DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer, this, m_dbl_click_timer->GetId() ); - Bind( COMPONENT_PRESELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentPreselected, this ); - Bind( COMPONENT_SELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentSelected, this ); - m_browser_button->Bind( wxEVT_COMMAND_BUTTON_CLICKED, &DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser, this ); + Bind( SYMBOL_PRESELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentPreselected, this ); + Bind( SYMBOL_SELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentSelected, this ); + m_browser_button->Bind( wxEVT_COMMAND_BUTTON_CLICKED, &DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser, + this ); Layout(); @@ -145,9 +146,10 @@ DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT( PCB_BASE_FRAME* aParent, DIALOG_CHOOSE_FOOTPRINT::~DIALOG_CHOOSE_FOOTPRINT() { Unbind( wxEVT_TIMER, &DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer, this ); - Unbind( COMPONENT_PRESELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentPreselected, this ); - Unbind( COMPONENT_SELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentSelected, this ); - m_browser_button->Unbind( wxEVT_COMMAND_BUTTON_CLICKED, &DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser, this ); + Unbind( SYMBOL_PRESELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentPreselected, this ); + Unbind( SYMBOL_SELECTED, &DIALOG_CHOOSE_FOOTPRINT::OnComponentSelected, this ); + m_browser_button->Unbind( wxEVT_COMMAND_BUTTON_CLICKED, + &DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser, this ); // I am not sure the following two lines are necessary, // but they will not hurt anyone diff --git a/pcbnew/footprint_editor_utils.cpp b/pcbnew/footprint_editor_utils.cpp index ee8dcf11fd..9ed872e248 100644 --- a/pcbnew/footprint_editor_utils.cpp +++ b/pcbnew/footprint_editor_utils.cpp @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -302,7 +302,7 @@ void FOOTPRINT_EDIT_FRAME::KiwayMailIn( KIWAY_EXPRESS& mail ) if( m_treePane ) { m_treePane->GetLibTree()->SelectLibId( fpId ); - wxCommandEvent event( COMPONENT_SELECTED ); + wxCommandEvent event( SYMBOL_SELECTED ); wxPostEvent( m_treePane, event ); } } diff --git a/pcbnew/footprint_tree_pane.cpp b/pcbnew/footprint_tree_pane.cpp index 7c47f12fa3..cbb38031c2 100644 --- a/pcbnew/footprint_tree_pane.cpp +++ b/pcbnew/footprint_tree_pane.cpp @@ -1,7 +1,7 @@ /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2018-2021 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -44,7 +44,7 @@ FOOTPRINT_TREE_PANE::FOOTPRINT_TREE_PANE( FOOTPRINT_EDIT_FRAME* aParent ) m_frame->GetLibTreeAdapter()->FinishTreeInitialization(); // Event handlers - Bind( COMPONENT_SELECTED, &FOOTPRINT_TREE_PANE::onComponentSelected, this ); + Bind( SYMBOL_SELECTED, &FOOTPRINT_TREE_PANE::onComponentSelected, this ); m_tree->Bind( wxEVT_UPDATE_UI, &FOOTPRINT_TREE_PANE::onUpdateUI, this ); } diff --git a/qa/eeschema/test_sch_pin.cpp b/qa/eeschema/test_sch_pin.cpp index 5c94d93cdb..a9c4f1d2f4 100644 --- a/qa/eeschema/test_sch_pin.cpp +++ b/qa/eeschema/test_sch_pin.cpp @@ -47,8 +47,8 @@ public: m_lib_pin->SetPosition( wxPoint( 1, -2 ) ); // local coord system is upside-down SCH_SHEET_PATH path; - m_parent_symbol = new SCH_COMPONENT( *m_parent_part, m_parent_part->GetLibId(), - &path, 0, 0, wxPoint( 1, 2 ) ); + m_parent_symbol = new SCH_SYMBOL( *m_parent_part, m_parent_part->GetLibId(), + &path, 0, 0, wxPoint( 1, 2 ) ); m_parent_symbol->SetRef( &path, "U2" ); m_parent_symbol->UpdatePins(); @@ -61,11 +61,11 @@ public: delete m_parent_part; } - LIB_PART* m_parent_part; - LIB_PIN* m_lib_pin; + LIB_PART* m_parent_part; + LIB_PIN* m_lib_pin; - SCH_COMPONENT* m_parent_symbol; - SCH_PIN* m_sch_pin; // owned by m_parent_symbol, not us + SCH_SYMBOL* m_parent_symbol; + SCH_PIN* m_sch_pin; // owned by m_parent_symbol, not us }; @@ -161,8 +161,8 @@ BOOST_AUTO_TEST_CASE( PinNumberingPower ) // and update symbol from library... SCH_SHEET_PATH path; delete m_parent_symbol; - m_parent_symbol = new SCH_COMPONENT( *m_parent_part, m_parent_part->GetLibId(), - &path, 0, 0, wxPoint( 1, 2 ) ); + m_parent_symbol = new SCH_SYMBOL( *m_parent_part, m_parent_part->GetLibId(), + &path, 0, 0, wxPoint( 1, 2 ) ); m_parent_symbol->SetRef( &path, "U2" ); m_parent_symbol->UpdatePins(); diff --git a/qa/eeschema/test_sch_symbol.cpp b/qa/eeschema/test_sch_symbol.cpp index 5095de7d9c..72b2832a6e 100644 --- a/qa/eeschema/test_sch_symbol.cpp +++ b/qa/eeschema/test_sch_symbol.cpp @@ -23,7 +23,7 @@ /** * @file - * Test suite for SCH_COMPONENT object. + * Test suite for SCH_SYMBOL object. */ #include @@ -40,8 +40,8 @@ public: { } - ///> #SCH_COMPONENT object with no extra data set. - SCH_COMPONENT m_symbol; + ///< #SCH_SYMBOL object with no extra data set. + SCH_SYMBOL m_symbol; }; @@ -66,13 +66,13 @@ BOOST_AUTO_TEST_CASE( Orientation ) { TRANSFORM t = m_symbol.GetTransform(); - m_symbol.SetOrientation( CMP_ORIENT_90 ); + m_symbol.SetOrientation( SYM_ORIENT_90 ); t = m_symbol.GetTransform(); m_symbol.SetTransform( TRANSFORM() ); - m_symbol.SetOrientation( CMP_ORIENT_180 ); + m_symbol.SetOrientation( SYM_ORIENT_180 ); t = m_symbol.GetTransform(); m_symbol.SetTransform( TRANSFORM() ); - m_symbol.SetOrientation( CMP_ORIENT_270 ); + m_symbol.SetOrientation( SYM_ORIENT_270 ); t = m_symbol.GetTransform(); }