KiCad PCB EDA Suite
|
Node type: root. More...
#include <lib_tree_model.h>
Public Types | |
enum class | TYPE { ROOT , LIBRARY , ITEM , UNIT , INVALID } |
typedef std::vector< std::unique_ptr< LIB_TREE_NODE > > | PTR_VECTOR |
Public Member Functions | |
LIB_TREE_NODE_ROOT (LIB_TREE_NODE_ROOT const &_)=delete | |
The addresses of CMP_TREE_NODEs are used as unique IDs for the wxDataViewModel, so don't let them be copied around. | |
void | operator= (LIB_TREE_NODE_ROOT const &_)=delete |
LIB_TREE_NODE_ROOT () | |
Construct the root node. | |
LIB_TREE_NODE_LIBRARY & | AddLib (wxString const &aName, wxString const &aDesc) |
Construct an empty library node, add it to the root, and return it. | |
void | RemoveLib (wxString const &aName) |
Remove a library node from the root. | |
void | Clear () |
Clear the tree. | |
void | UpdateScore (EDA_COMBINED_MATCHER *aMatcher, const wxString &aLib, std::function< bool(LIB_TREE_NODE &aNode)> *aFilter) override |
Update the score for this part. | |
virtual void | ResetScore () |
Initialize scores recursively. | |
virtual void | ForceScore (int aScore) |
void | AssignIntrinsicRanks (bool presorted=false) |
Store intrinsic ranks on all children of this node. | |
void | SortNodes (bool aUseScores) |
Sort child nodes quickly and recursively (IntrinsicRanks must have been set). | |
Static Public Member Functions | |
static bool | Compare (LIB_TREE_NODE const &aNode1, LIB_TREE_NODE const &aNode2, bool aUseScores) |
Compare two nodes. | |
Public Attributes | |
LIB_TREE_NODE * | m_Parent |
PTR_VECTOR | m_Children |
enum TYPE | m_Type |
int | m_IntrinsicRank |
The rank of the item before any search terms are applied. | |
int | m_Score |
bool | m_Pinned |
wxString | m_Name |
wxString | m_Desc |
wxString | m_Footprint |
int | m_PinCount |
std::vector< SEARCH_TERM > | m_SearchTerms |
std::map< wxString, wxString > | m_Fields |
List of weighted search terms. | |
LIB_ID | m_LibId |
int | m_Unit |
bool | m_IsRoot |
Node type: root.
Definition at line 268 of file lib_tree_model.h.
|
inherited |
Definition at line 123 of file lib_tree_model.h.
|
stronginherited |
Enumerator | |
---|---|
ROOT | |
LIBRARY | |
ITEM | |
UNIT | |
INVALID |
Definition at line 114 of file lib_tree_model.h.
|
delete |
The addresses of CMP_TREE_NODEs are used as unique IDs for the wxDataViewModel, so don't let them be copied around.
LIB_TREE_NODE_ROOT::LIB_TREE_NODE_ROOT | ( | ) |
Construct the root node.
Root nodes have no properties.
Definition at line 348 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Type.
LIB_TREE_NODE_LIBRARY & LIB_TREE_NODE_ROOT::AddLib | ( | wxString const & | aName, |
wxString const & | aDesc | ||
) |
Construct an empty library node, add it to the root, and return it.
Definition at line 354 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children.
Referenced by LIB_TREE_MODEL_ADAPTER::DoAddLibraryNode().
|
inherited |
Store intrinsic ranks on all children of this node.
See m_IntrinsicRank member doc for more information.
Definition at line 42 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children, and LIB_TREE_NODE::m_IntrinsicRank.
Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), LIB_TREE_MODEL_ADAPTER::AssignIntrinsicRanks(), LIB_TREE_MODEL_ADAPTER::DoAddLibrary(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), and FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary().
void LIB_TREE_NODE_ROOT::Clear | ( | ) |
Clear the tree.
Definition at line 373 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children.
Referenced by DESIGN_BLOCK_TREE_MODEL_ADAPTER::ClearLibraries().
|
staticinherited |
Compare two nodes.
Returns true if aNode1 < aNode2.
Definition at line 83 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_IntrinsicRank, LIB_TREE_NODE::m_Name, LIB_TREE_NODE::m_Pinned, LIB_TREE_NODE::m_Score, and LIB_TREE_NODE::m_Type.
|
inlinevirtualinherited |
Definition at line 92 of file lib_tree_model.h.
References LIB_TREE_NODE::m_Score.
|
delete |
void LIB_TREE_NODE_ROOT::RemoveLib | ( | wxString const & | aName | ) |
Remove a library node from the root.
Definition at line 362 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children.
Referenced by LIB_TREE_MODEL_ADAPTER::DoRemoveLibrary().
|
virtualinherited |
Initialize scores recursively.
Definition at line 33 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children, and LIB_TREE_NODE::m_Score.
Referenced by LIB_TREE_MODEL_ADAPTER::UpdateSearchString().
|
inherited |
Sort child nodes quickly and recursively (IntrinsicRanks must have been set).
Definition at line 70 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children.
Referenced by LIB_TREE_MODEL_ADAPTER::resortTree(), and LIB_TREE_MODEL_ADAPTER::UpdateSearchString().
|
overridevirtual |
Update the score for this part.
This is accumulative - it will be called once per search term.
aMatcher | an EDA_COMBINED_MATCHER initialized with the search term |
Implements LIB_TREE_NODE.
Definition at line 379 of file lib_tree_model.cpp.
References LIB_TREE_NODE::m_Children.
Referenced by LIB_TREE_MODEL_ADAPTER::UpdateSearchString().
|
inherited |
Definition at line 126 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE_LIBRARY::AddItem(), AddLib(), LIB_TREE_NODE_ITEM::AddUnit(), LIB_TREE_NODE::AssignIntrinsicRanks(), Clear(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary(), FP_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary(), LIB_TREE_MODEL_ADAPTER::FindItem(), LIB_TREE_MODEL_ADAPTER::GetChildren(), LIB_TREE_MODEL_ADAPTER::GetItemCount(), LIB_TREE_MODEL_ADAPTER::GetLibrariesCount(), LIB_TREE_MODEL_ADAPTER::IsContainer(), recursiveDescent(), RemoveLib(), LIB_TREE_NODE::ResetScore(), LIB_TREE_MODEL_ADAPTER::ShowResults(), LIB_TREE_NODE::SortNodes(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), LIB_TREE_NODE_ITEM::Update(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), LIB_TREE_NODE_ITEM::UpdateScore(), LIB_TREE_NODE_LIBRARY::UpdateScore(), UpdateScore(), and LIB_TREE_MODEL_ADAPTER::UpdateSearchString().
|
inherited |
Definition at line 140 of file lib_tree_model.h.
Referenced by LIB_TREE_MODEL_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), and LIB_TREE_NODE_ITEM::Update().
|
inherited |
List of weighted search terms.
Definition at line 145 of file lib_tree_model.h.
Referenced by LIB_TREE_MODEL_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), and LIB_TREE_NODE_ITEM::Update().
|
inherited |
Definition at line 141 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), and PANEL_SYMBOL_CHOOSER::onSymbolSelected().
|
inherited |
The rank of the item before any search terms are applied.
This is a fairly expensive sort (involving string compares) so it helps to store the result of that sort.
Definition at line 134 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE::AssignIntrinsicRanks(), LIB_TREE_NODE::Compare(), and LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT().
|
inherited |
Definition at line 149 of file lib_tree_model.h.
Referenced by LIB_TREE_MODEL_ADAPTER::GetAttr(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), and LIB_TREE_NODE_ITEM::Update().
|
inherited |
Definition at line 147 of file lib_tree_model.h.
Referenced by SCH_DESIGN_BLOCK_CONTROL::DeleteDesignBlock(), SCH_DESIGN_BLOCK_CONTROL::EditDesignBlockProperties(), FOOTPRINT_CHOOSER_FRAME::filterFootprint(), LIB_TREE_MODEL_ADAPTER::GetAliasFor(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), FP_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::HasPreview(), FP_TREE_SYNCHRONIZING_ADAPTER::HasPreview(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), PANEL_SYMBOL_CHOOSER::onSymbolSelected(), LIBRARY_EDITOR_CONTROL::PinLibrary(), SCH_DESIGN_BLOCK_CONTROL::PinLibrary(), LIB_TREE_MODEL_ADAPTER::PinLibrary(), SCH_DESIGN_BLOCK_CONTROL::SaveSelectionAsDesignBlock(), SCH_DESIGN_BLOCK_CONTROL::SaveSheetAsDesignBlock(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), FP_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), LIB_TREE_MODEL_ADAPTER::ShowResults(), LIBRARY_EDITOR_CONTROL::UnpinLibrary(), SCH_DESIGN_BLOCK_CONTROL::UnpinLibrary(), LIB_TREE_MODEL_ADAPTER::UnpinLibrary(), and LIB_TREE_NODE_ITEM::Update().
|
inherited |
Definition at line 139 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE::Compare(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary(), FP_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), FP_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), LIB_TREE_MODEL_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), LIB_TREE_MODEL_ADAPTER::ShowResults(), LIB_TREE_NODE_ITEM::Update(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), and LIB_TREE_NODE_LIBRARY::UpdateScore().
|
inherited |
Definition at line 125 of file lib_tree_model.h.
Referenced by LIB_TREE::centerIfValid(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), LIB_TREE_MODEL_ADAPTER::GetParent(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), LIB_TREE_MODEL_ADAPTER::ShowResults(), and LIB_TREE_NODE_UNIT::UpdateScore().
|
inherited |
Definition at line 142 of file lib_tree_model.h.
Referenced by FOOTPRINT_CHOOSER_FRAME::filterFootprint(), and LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM().
|
inherited |
Definition at line 137 of file lib_tree_model.h.
Referenced by LIBRARY_EDITOR_CONTROL::AddContextMenuItems(), LIB_TREE_NODE::Compare(), LIB_TREE_MODEL_ADAPTER::DoAddLibraryNode(), LIB_TREE_MODEL_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), SCH_DESIGN_BLOCK_CONTROL::Init(), LIB_TREE::onItemContextMenu(), LIBRARY_EDITOR_CONTROL::PinLibrary(), SCH_DESIGN_BLOCK_CONTROL::PinLibrary(), LIB_TREE_MODEL_ADAPTER::PinLibrary(), LIBRARY_EDITOR_CONTROL::UnpinLibrary(), SCH_DESIGN_BLOCK_CONTROL::UnpinLibrary(), and LIB_TREE_MODEL_ADAPTER::UnpinLibrary().
|
inherited |
Definition at line 136 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE::Compare(), LIB_TREE_NODE::ForceScore(), LIB_TREE_NODE::ResetScore(), LIB_TREE_MODEL_ADAPTER::ShowResults(), LIB_TREE_NODE_UNIT::UpdateScore(), LIB_TREE_NODE_ITEM::UpdateScore(), and LIB_TREE_NODE_LIBRARY::UpdateScore().
|
inherited |
Definition at line 144 of file lib_tree_model.h.
Referenced by LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_ITEM::Update(), LIB_TREE_NODE_ITEM::UpdateScore(), and LIB_TREE_NODE_LIBRARY::UpdateScore().
|
inherited |
Definition at line 127 of file lib_tree_model.h.
Referenced by LIBRARY_EDITOR_CONTROL::AddContextMenuItems(), LIB_TREE_NODE::Compare(), FOOTPRINT_CHOOSER_FRAME::filterFootprint(), LIB_TREE_MODEL_ADAPTER::GetAttr(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), FP_TREE_SYNCHRONIZING_ADAPTER::GetAttr(), LIB_TREE_MODEL_ADAPTER::GetChildren(), LIB_TREE_MODEL_ADAPTER::GetParent(), LIB_TREE_MODEL_ADAPTER::GetTypeFor(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::GetValue(), FP_TREE_SYNCHRONIZING_ADAPTER::GetValue(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::HasPreview(), FP_TREE_SYNCHRONIZING_ADAPTER::HasPreview(), SCH_DESIGN_BLOCK_CONTROL::Init(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::IsContainer(), FP_TREE_SYNCHRONIZING_ADAPTER::IsContainer(), LIB_TREE_NODE_ITEM::LIB_TREE_NODE_ITEM(), LIB_TREE_NODE_LIBRARY::LIB_TREE_NODE_LIBRARY(), LIB_TREE_NODE_ROOT(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), LIB_TREE::onItemContextMenu(), and LIB_TREE_MODEL_ADAPTER::ShowResults().
|
inherited |
Definition at line 148 of file lib_tree_model.h.
Referenced by LIB_TREE_MODEL_ADAPTER::GetUnitFor(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), PANEL_SYMBOL_CHOOSER::onSymbolSelected(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview(), and LIB_TREE_MODEL_ADAPTER::ShowResults().