|
KiCad PCB EDA Suite
|
#include <panel_symbol_chooser.h>
Public Member Functions | |
| PANEL_SYMBOL_CHOOSER (SCH_BASE_FRAME *aFrame, wxWindow *aParent, const SYMBOL_LIBRARY_FILTER *aFilter, std::vector< PICKED_SYMBOL > &aHistoryList, std::vector< PICKED_SYMBOL > &aAlreadyPlaced, bool aAllowFieldEdits, bool aShowFootprints, bool &aCancelled, std::function< void()> aAcceptHandler, std::function< void()> aEscapeHandler) | |
| Create dialog to choose symbol. | |
| ~PANEL_SYMBOL_CHOOSER () | |
| void | OnChar (wxKeyEvent &aEvent) |
| void | FinishSetup () |
| void | SetPreselect (const LIB_ID &aPreselect) |
| LIB_ID | GetSelectedLibId (int *aUnit=nullptr) const |
| To be called after this dialog returns from ShowModal(). | |
| int | GetItemCount () const |
| wxWindow * | GetFocusTarget () const |
| std::vector< std::pair< FIELD_T, wxString > > | GetFields () const |
| Get a list of fields edited by the user. | |
| void | ShutdownCanvases () |
| wxObjectDataPtr< LIB_TREE_MODEL_ADAPTER > | Adapter () const |
| void | Regenerate () |
Static Public Attributes | |
| static std::mutex | g_Mutex |
Protected Member Functions | |
| wxPanel * | constructRightPanel (wxWindow *aParent) |
| void | OnDetailsCharHook (wxKeyEvent &aEvt) |
| void | onCloseTimer (wxTimerEvent &aEvent) |
| void | onOpenLibsTimer (wxTimerEvent &aEvent) |
| void | onFootprintSelected (wxCommandEvent &aEvent) |
| void | onSymbolSelected (wxCommandEvent &aEvent) |
| void | onMenuOpen (wxMenuEvent &aEvent) |
| Handle parent frame menu events to block tree preview. | |
| void | onMenuClose (wxMenuEvent &aEvent) |
| void | onSymbolChosen (wxCommandEvent &aEvent) |
| Handle the selection of an item. | |
| void | showFootprintFor (const LIB_ID &aLibId) |
| Look up the footprint for a given symbol specified in the LIB_ID and display it. | |
| void | showFootprint (const wxString &aFootprint) |
| Display the given footprint by name. | |
| void | populateFootprintSelector (const LIB_ID &aLibId) |
| Populate the footprint selector for a given alias. | |
Protected Attributes | |
| wxTimer * | m_dbl_click_timer |
| wxTimer * | m_open_libs_timer |
| SYMBOL_PREVIEW_WIDGET * | m_symbol_preview |
| wxSplitterWindow * | m_hsplitter |
| wxSplitterWindow * | m_vsplitter |
| wxObjectDataPtr< LIB_TREE_MODEL_ADAPTER > | m_adapter |
| FOOTPRINT_SELECT_WIDGET * | m_fp_sel_ctrl |
| FOOTPRINT_PREVIEW_WIDGET * | m_fp_preview |
| LIB_TREE * | m_tree |
| HTML_WINDOW * | m_details |
| std::function< void()> | m_acceptHandler |
| std::function< void()> | m_escapeHandler |
| bool | m_showPower |
| bool | m_allow_field_edits |
| bool | m_show_footprints |
| wxString | m_fp_override |
| std::vector< std::pair< FIELD_T, wxString > > | m_field_edits |
Static Protected Attributes | |
| static constexpr int | DBLCLICK_DELAY = 100 |
| static wxString | g_symbolSearchString |
| static wxString | g_powerSearchString |
| static SCH_BASE_FRAME * | m_frame = nullptr |
Definition at line 45 of file panel_symbol_chooser.h.
| PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER | ( | SCH_BASE_FRAME * | aFrame, |
| wxWindow * | aParent, | ||
| const SYMBOL_LIBRARY_FILTER * | aFilter, | ||
| std::vector< PICKED_SYMBOL > & | aHistoryList, | ||
| std::vector< PICKED_SYMBOL > & | aAlreadyPlaced, | ||
| bool | aAllowFieldEdits, | ||
| bool | aShowFootprints, | ||
| bool & | aCancelled, | ||
| std::function< void()> | aAcceptHandler, | ||
| std::function< void()> | aEscapeHandler ) |
Create dialog to choose symbol.
| aFrame | the parent frame (usually a SCH_EDIT_FRAME or SYMBOL_CHOOSER_FRAME) |
| aParent | the parent window (usually a DIALOG_SHIM or SYMBOL_CHOOSER_FRAME) |
| aAllowFieldEdits | if false, all functions that allow the user to edit fields (currently just footprint selection) will not be available. |
| aShowFootprints | if false, all footprint preview and selection features are disabled. This forces aAllowFieldEdits false too. |
| aCancelled | [out] value indicating the user has cancelled the loading symbols progress dialog before we even get to showing the symbol chooser dialog. |
| aAcceptHandler | a handler to be called on double-click of a footprint |
| aEscapeHandler | a handler to be called on <ESC> |
Definition at line 56 of file panel_symbol_chooser.cpp.
References _, SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), SYMBOL_TREE_MODEL_ADAPTER::AddLibrary(), LIB_TREE::ALL_WIDGETS, LIB_TREE_MODEL_ADAPTER::AssignIntrinsicRanks(), constructRightPanel(), alg::contains(), SYMBOL_TREE_MODEL_ADAPTER::Create(), LIB_TREE_MODEL_ADAPTER::DoAddLibrary(), g_powerSearchString, g_symbolSearchString, SYMBOL_LIBRARY_FILTER::GetAllowedLibList(), GetAppSettings(), PGM_BASE::GetCommonSettings(), SYMBOL_LIBRARY_FILTER::GetFilterPowerSymbols(), LIBRARY_MANAGER_ADAPTER::GetRow(), LIBRARY_MANAGER_ADAPTER::HasLibrary(), LIB_SYMBOL::IsPower(), m_acceptHandler, m_adapter, m_allow_field_edits, m_dbl_click_timer, m_details, m_escapeHandler, m_fp_preview, m_fp_sel_ctrl, m_frame, m_hsplitter, LIB_TREE_NODE::m_IsAlreadyPlacedGroup, LIB_TREE_NODE::m_IsRecentlyUsedGroup, m_open_libs_timer, COMMON_SETTINGS::m_Session, m_show_footprints, m_showPower, m_symbol_preview, m_tree, m_vsplitter, move, onCloseTimer(), OnDetailsCharHook(), onFootprintSelected(), onMenuClose(), onMenuOpen(), onOpenLibsTimer(), onSymbolChosen(), onSymbolSelected(), Pgm(), COMMON_SETTINGS::SESSION::pinned_symbol_libs, project, LIB_TREE_MODEL_ADAPTER::SetFilter(), LIB_TREE_MODEL_ADAPTER::SetPreselectNode(), SCH_FIELD::SetText(), and PROJECT_SCH::SymbolLibAdapter().
| PANEL_SYMBOL_CHOOSER::~PANEL_SYMBOL_CHOOSER | ( | ) |
Definition at line 285 of file panel_symbol_chooser.cpp.
References g_powerSearchString, g_symbolSearchString, Kiface(), m_adapter, m_dbl_click_timer, m_details, m_fp_sel_ctrl, m_frame, m_hsplitter, m_open_libs_timer, m_showPower, m_tree, m_vsplitter, onCloseTimer(), OnDetailsCharHook(), onFootprintSelected(), onMenuClose(), onMenuOpen(), onSymbolChosen(), and onSymbolSelected().
|
inline |
Definition at line 107 of file panel_symbol_chooser.h.
References m_adapter.
|
protected |
Definition at line 370 of file panel_symbol_chooser.cpp.
References EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL, FOOTPRINT_LIST::GetInstance(), m_allow_field_edits, m_fp_preview, m_fp_sel_ctrl, m_frame, m_show_footprints, m_symbol_preview, and Pgm().
Referenced by PANEL_SYMBOL_CHOOSER().
| void PANEL_SYMBOL_CHOOSER::FinishSetup | ( | ) |
Definition at line 419 of file panel_symbol_chooser.cpp.
References EESCHEMA_SETTINGS::PANEL_SYM_CHOOSER::height, Kiface(), m_adapter, m_fp_preview, m_fp_sel_ctrl, m_frame, m_hsplitter, m_vsplitter, EESCHEMA_SETTINGS::PANEL_SYM_CHOOSER::sash_pos_h, EESCHEMA_SETTINGS::PANEL_SYM_CHOOSER::sash_pos_v, EESCHEMA_SETTINGS::PANEL_SYM_CHOOSER::sort_mode, and EESCHEMA_SETTINGS::PANEL_SYM_CHOOSER::width.
|
inline |
Get a list of fields edited by the user.
Definition at line 100 of file panel_symbol_chooser.h.
References m_field_edits.
|
inline |
Definition at line 93 of file panel_symbol_chooser.h.
References m_tree.
|
inline |
Definition at line 91 of file panel_symbol_chooser.h.
References m_adapter.
| LIB_ID PANEL_SYMBOL_CHOOSER::GetSelectedLibId | ( | int * | aUnit = nullptr | ) | const |
To be called after this dialog returns from ShowModal().
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).
| aUnit | if not NULL, the selected unit is filled in here. |
Definition at line 494 of file panel_symbol_chooser.cpp.
References m_tree.
| void PANEL_SYMBOL_CHOOSER::OnChar | ( | wxKeyEvent & | aEvent | ) |
Definition at line 344 of file panel_symbol_chooser.cpp.
References m_escapeHandler, and m_tree.
Referenced by DIALOG_SYMBOL_CHOOSER::DIALOG_SYMBOL_CHOOSER(), SYMBOL_CHOOSER_FRAME::SYMBOL_CHOOSER_FRAME(), DIALOG_SYMBOL_CHOOSER::~DIALOG_SYMBOL_CHOOSER(), and SYMBOL_CHOOSER_FRAME::~SYMBOL_CHOOSER_FRAME().
|
protected |
Definition at line 513 of file panel_symbol_chooser.cpp.
References DBLCLICK_DELAY, m_acceptHandler, and m_dbl_click_timer.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 466 of file panel_symbol_chooser.cpp.
References m_details.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 639 of file panel_symbol_chooser.cpp.
References FOOTPRINT, m_field_edits, m_fp_override, and showFootprint().
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 337 of file panel_symbol_chooser.cpp.
References m_tree.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Handle parent frame menu events to block tree preview.
Definition at line 330 of file panel_symbol_chooser.cpp.
References m_tree.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 533 of file panel_symbol_chooser.cpp.
References Kiface(), and m_adapter.
Referenced by PANEL_SYMBOL_CHOOSER().
|
protected |
Handle the selection of an item.
This is called when either the search box or the tree receive an Enter, or the tree receives a double click. If the item selected is a category, it is expanded or collapsed; if it is a symbol, the symbol is picked.
Definition at line 681 of file panel_symbol_chooser.cpp.
References DBLCLICK_DELAY, m_dbl_click_timer, and m_tree.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 654 of file panel_symbol_chooser.cpp.
References _, LIB_ID::IsValid(), LIB_TREE_NODE::m_Footprint, m_fp_preview, LIB_TREE_NODE::m_LibId, m_symbol_preview, m_tree, LIB_TREE_NODE::m_Unit, populateFootprintSelector(), showFootprint(), and showFootprintFor().
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Populate the footprint selector for a given alias.
| aLibId | the LIB_ID of the selection or invalid to clear. |
Definition at line 595 of file panel_symbol_chooser.cpp.
References _, FOOTPRINT, LIB_SYMBOL::GetField(), LIB_SYMBOL::GetFPFilters(), SCH_FIELD::GetFullText(), LIB_SYMBOL::GetGraphicalPins(), LIB_ID::GetLibItemName(), LIB_ID::GetLibNickname(), LIB_ID::IsValid(), SYMBOL_LIBRARY_ADAPTER::LoadSymbol(), m_fp_sel_ctrl, m_frame, PROJECT_SCH::SymbolLibAdapter(), IO_ERROR::What(), and UTF8::wx_str().
Referenced by onSymbolSelected().
| void PANEL_SYMBOL_CHOOSER::Regenerate | ( | ) |
Definition at line 699 of file panel_symbol_chooser.cpp.
References LIB_ID::IsValid(), and m_tree.
| void PANEL_SYMBOL_CHOOSER::SetPreselect | ( | const LIB_ID & | aPreselect | ) |
Definition at line 488 of file panel_symbol_chooser.cpp.
References m_adapter.
|
protected |
Display the given footprint by name.
Definition at line 569 of file panel_symbol_chooser.cpp.
References _, LIB_ID::IsValid(), m_fp_preview, and LIB_ID::Parse().
Referenced by onFootprintSelected(), onSymbolSelected(), and showFootprintFor().
|
protected |
Look up the footprint for a given symbol specified in the LIB_ID and display it.
Definition at line 540 of file panel_symbol_chooser.cpp.
References _, FOOTPRINT, LIB_SYMBOL::GetField(), SCH_FIELD::GetFullText(), LIB_ID::GetLibItemName(), LIB_ID::GetLibNickname(), SYMBOL_LIBRARY_ADAPTER::LoadSymbol(), m_fp_preview, m_frame, showFootprint(), PROJECT_SCH::SymbolLibAdapter(), IO_ERROR::What(), and UTF8::wx_str().
Referenced by onSymbolSelected().
| void PANEL_SYMBOL_CHOOSER::ShutdownCanvases | ( | ) |
Definition at line 500 of file panel_symbol_chooser.cpp.
References m_fp_preview, and m_symbol_preview.
|
staticconstexprprotected |
Definition at line 112 of file panel_symbol_chooser.h.
Referenced by onCloseTimer(), and onSymbolChosen().
|
static |
Definition at line 155 of file panel_symbol_chooser.h.
|
staticprotected |
Definition at line 159 of file panel_symbol_chooser.h.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
staticprotected |
Definition at line 158 of file panel_symbol_chooser.h.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 175 of file panel_symbol_chooser.h.
Referenced by onCloseTimer(), and PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 167 of file panel_symbol_chooser.h.
Referenced by Adapter(), FinishSetup(), GetItemCount(), onOpenLibsTimer(), PANEL_SYMBOL_CHOOSER(), SetPreselect(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 179 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), and PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 161 of file panel_symbol_chooser.h.
Referenced by onCloseTimer(), onSymbolChosen(), PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 172 of file panel_symbol_chooser.h.
Referenced by OnDetailsCharHook(), PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 176 of file panel_symbol_chooser.h.
Referenced by OnChar(), and PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 183 of file panel_symbol_chooser.h.
Referenced by GetFields(), and onFootprintSelected().
|
protected |
Definition at line 181 of file panel_symbol_chooser.h.
Referenced by onFootprintSelected().
|
protected |
Definition at line 170 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), FinishSetup(), onSymbolSelected(), PANEL_SYMBOL_CHOOSER(), showFootprint(), showFootprintFor(), and ShutdownCanvases().
|
protected |
Definition at line 169 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), FinishSetup(), PANEL_SYMBOL_CHOOSER(), populateFootprintSelector(), and ~PANEL_SYMBOL_CHOOSER().
|
staticprotected |
Definition at line 174 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), FinishSetup(), PANEL_SYMBOL_CHOOSER(), populateFootprintSelector(), showFootprintFor(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 164 of file panel_symbol_chooser.h.
Referenced by FinishSetup(), PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 162 of file panel_symbol_chooser.h.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 180 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), and PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 178 of file panel_symbol_chooser.h.
Referenced by PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 163 of file panel_symbol_chooser.h.
Referenced by constructRightPanel(), onSymbolSelected(), PANEL_SYMBOL_CHOOSER(), and ShutdownCanvases().
|
protected |
Definition at line 171 of file panel_symbol_chooser.h.
Referenced by GetFocusTarget(), GetSelectedLibId(), OnChar(), onMenuClose(), onMenuOpen(), onSymbolChosen(), onSymbolSelected(), PANEL_SYMBOL_CHOOSER(), Regenerate(), and ~PANEL_SYMBOL_CHOOSER().
|
protected |
Definition at line 165 of file panel_symbol_chooser.h.
Referenced by FinishSetup(), PANEL_SYMBOL_CHOOSER(), and ~PANEL_SYMBOL_CHOOSER().