KiCad PCB EDA Suite
|
#include <hierarchy_pane.h>
Public Types | |
enum | ContextMenuAction { EDIT_PAGE_NUMBER , EXPAND_ALL , COLLAPSE_ALL , RENAME } |
Public Member Functions | |
HIERARCHY_PANE (SCH_EDIT_FRAME *aParent) | |
~HIERARCHY_PANE () | |
void | UpdateHierarchyTree (bool aClear=false) |
Update the hierarchical tree of the schematic. | |
void | UpdateHierarchySelection () |
Updates the tree's selection to match current page. | |
void | UpdateLabelsHierarchyTree () |
Update the labels of the hierarchical tree of the schematic. | |
std::vector< wxString > | GetCollapsedPaths () const |
Returns a list of sheet paths for nodes that are currently collapsed. | |
void | SetBorders (bool aLeft, bool aRight, bool aTop, bool aBottom) |
void | SetBorderColor (const KIGFX::COLOR4D &aColor) |
Private Member Functions | |
void | buildHierarchyTree (SCH_SHEET_PATH *aList, const wxTreeItemId &aParent) |
Create the hierarchical tree of the schematic. | |
void | onSelectSheetPath (wxTreeEvent &aEvent) |
Open the selected sheet and display the corresponding screen when a tree item is selected. | |
void | onTreeItemRightClick (wxTreeEvent &aEvent) |
void | onRightClick (wxTreeItemId aItem) |
void | onCharHook (wxKeyEvent &aKeyStroke) |
void | onTreeRightClick (wxTreeEvent &event) |
void | onTreeEditFinished (wxTreeEvent &event) |
wxString | getRootString () |
wxString | formatPageString (const wxString &aName, const wxString &aPage) |
void | setIdenticalSheetsHighlighted (const SCH_SHEET_PATH &path, bool highLighted=true) |
When renaming the sheets in tree it is helpful to highlight the identical sheets which got renamed by renaming the current sheet. | |
void | renameIdenticalSheets (const SCH_SHEET_PATH &renamedSheet, const wxString newName, SCH_COMMIT *commit) |
Rename all sheets in a hierarchial desing which has the same source renamed sheet. | |
void | OnPaint (wxPaintEvent &event) |
Private Attributes | |
SCH_SHEET_PATH | m_list |
SCH_EDIT_FRAME * | m_frame |
HIERARCHY_TREE * | m_tree |
bool | m_events_bound |
std::set< wxString > | m_collapsedPaths |
bool | m_leftBorder |
bool | m_rightBorder |
bool | m_topBorder |
bool | m_bottomBorder |
KIGFX::COLOR4D | m_borderColor |
Definition at line 71 of file hierarchy_pane.h.
Enumerator | |
---|---|
EDIT_PAGE_NUMBER | |
EXPAND_ALL | |
COLLAPSE_ALL | |
RENAME |
Definition at line 74 of file hierarchy_pane.h.
HIERARCHY_PANE::HIERARCHY_PANE | ( | SCH_EDIT_FRAME * | aParent | ) |
Definition at line 65 of file hierarchy_pane.cpp.
References KiBitmap(), KiBitmapBundle(), m_collapsedPaths, m_events_bound, m_frame, PROJECT_LOCAL_SETTINGS::m_SchHierarchyCollapsed, m_tree, onCharHook(), onSelectSheetPath(), onTreeEditFinished(), onTreeItemRightClick(), path, tree_nosel, tree_sel, UpdateHierarchyTree(), and WX_PANEL::WX_PANEL().
HIERARCHY_PANE::~HIERARCHY_PANE | ( | ) |
Definition at line 116 of file hierarchy_pane.cpp.
References m_tree, onCharHook(), onSelectSheetPath(), onTreeEditFinished(), and onTreeItemRightClick().
|
private |
Create the hierarchical tree of the schematic.
[in] | aList | is the SCH_SHEET_PATH list to explore. |
aPreviousmenu | is the wxTreeItemId used as parent to add sub items. |
Definition at line 126 of file hierarchy_pane.cpp.
References buildHierarchyTree(), formatPageString(), SCH_SHEET::GetField(), SCH_SHEET_PATH::GetPageNumber(), SCH_SCREEN::GetSheets(), SCH_FIELD::GetShownText(), SCH_SHEET_PATH::LastScreen(), m_tree, SCH_SHEET_PATH::pop_back(), SCH_SHEET_PATH::push_back(), and SHEET_NAME.
Referenced by buildHierarchyTree(), and UpdateHierarchyTree().
|
private |
Definition at line 608 of file hierarchy_pane.cpp.
References _.
Referenced by buildHierarchyTree(), getRootString(), onTreeEditFinished(), renameIdenticalSheets(), and UpdateLabelsHierarchyTree().
std::vector< wxString > HIERARCHY_PANE::GetCollapsedPaths | ( | ) | const |
Returns a list of sheet paths for nodes that are currently collapsed.
Definition at line 375 of file hierarchy_pane.cpp.
References TREE_ITEM_DATA::m_SheetPath, m_tree, and SCH_SHEET_PATH::PathAsString().
|
private |
Definition at line 598 of file hierarchy_pane.cpp.
References formatPageString(), SCH_SHEET_PATH::GetPageNumber(), SCH_SHEET::GetShownName(), m_frame, and SCH_SHEET_PATH::push_back().
Referenced by UpdateHierarchyTree().
|
private |
Definition at line 545 of file hierarchy_pane.cpp.
References ACTIONS::collapseAll, ACTIONS::expandAll, m_tree, MD_ALT, MD_ALTGR, MD_CTRL, MD_META, MD_SHIFT, and MD_SUPER.
Referenced by HIERARCHY_PANE(), and ~HIERARCHY_PANE().
|
privateinherited |
Definition at line 47 of file wx_panel.cpp.
References m_borderColor, m_bottomBorder, m_leftBorder, m_rightBorder, m_topBorder, KIGFX::COLOR4D::Mix(), KIGFX::COLOR4D::ToColour(), and KIGFX::COLOR4D::UNSPECIFIED.
Referenced by WX_PANEL(), and ~WX_PANEL().
|
private |
Definition at line 417 of file hierarchy_pane.cpp.
References _, COLLAPSE_ALL, ACTIONS::collapseAll, EDIT_PAGE_NUMBER, EXPAND_ALL, ACTIONS::expandAll, SCH_SHEET::GetName(), SCH_SHEET_PATH::GetPageNumber(), SCH_SHEET_PATH::Last(), SCH_SHEET_PATH::LastScreen(), m_frame, TREE_ITEM_DATA::m_SheetPath, m_tree, COMMIT::Modify(), SCH_SHEET_PATH::PathHumanReadable(), SCH_SHEET_PATH::pop_back(), SCH_COMMIT::Push(), RENAME, setIdenticalSheetsHighlighted(), SCH_SHEET_PATH::SetPageNumber(), and UpdateLabelsHierarchyTree().
Referenced by onTreeItemRightClick().
|
private |
Open the selected sheet and display the corresponding screen when a tree item is selected.
Definition at line 316 of file hierarchy_pane.cpp.
References SCH_ACTIONS::changeSheet, m_frame, TREE_ITEM_DATA::m_SheetPath, and m_tree.
Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), UpdateHierarchyTree(), and ~HIERARCHY_PANE().
|
private |
Definition at line 499 of file hierarchy_pane.cpp.
References _, COMMIT::Empty(), formatPageString(), SCH_SHEET::GetField(), SCH_SHEET::GetName(), SCH_SHEET_PATH::GetPageNumber(), SCH_SHEET::GetScreen(), SCH_SHEET_PATH::GetSheet(), SCH_SHEET_PATH::Last(), m_frame, TREE_ITEM_DATA::m_SheetPath, m_tree, COMMIT::Modify(), SCH_COMMIT::Push(), renameIdenticalSheets(), setIdenticalSheetsHighlighted(), SCH_SHEET::SetName(), SHEET_NAME, and SCH_SHEET_PATH::size().
Referenced by HIERARCHY_PANE(), and ~HIERARCHY_PANE().
|
private |
Definition at line 411 of file hierarchy_pane.cpp.
References onRightClick().
Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), UpdateHierarchyTree(), and ~HIERARCHY_PANE().
|
private |
References path.
|
private |
Rename all sheets in a hierarchial desing which has the same source renamed sheet.
Definition at line 641 of file hierarchy_pane.cpp.
References SCH_SHEET_PATH::Cmp(), formatPageString(), SCH_SHEET::GetField(), SCH_SHEET::GetName(), SCH_SHEET_PATH::GetPageNumber(), SCH_SHEET::GetScreen(), SCH_SHEET_PATH::GetSheet(), SCH_SHEET_PATH::Last(), m_frame, TREE_ITEM_DATA::m_SheetPath, m_tree, COMMIT::Modify(), recursiveDescent(), SCH_SHEET::SetName(), SHEET_NAME, and SCH_SHEET_PATH::size().
Referenced by onTreeEditFinished().
|
inlineinherited |
Definition at line 47 of file wx_panel.h.
References m_borderColor.
Referenced by SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview().
|
inlineinherited |
Definition at line 39 of file wx_panel.h.
References m_bottomBorder, m_leftBorder, m_rightBorder, and m_topBorder.
Referenced by APPEARANCE_CONTROLS::APPEARANCE_CONTROLS(), APPEARANCE_CONTROLS_3D::APPEARANCE_CONTROLS_3D(), PAGED_DIALOG::PAGED_DIALOG(), PANEL_SCH_SELECTION_FILTER::PANEL_SCH_SELECTION_FILTER(), PANEL_SELECTION_FILTER::PANEL_SELECTION_FILTER(), and SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview().
|
private |
When renaming the sheets in tree it is helpful to highlight the identical sheets which got renamed by renaming the current sheet.
Definition at line 613 of file hierarchy_pane.cpp.
References SCH_SHEET_PATH::Cmp(), SCH_SHEET_PATH::Last(), TREE_ITEM_DATA::m_SheetPath, m_tree, path, and recursiveDescent().
Referenced by onRightClick(), and onTreeEditFinished().
void HIERARCHY_PANE::UpdateHierarchySelection | ( | ) |
Updates the tree's selection to match current page.
Definition at line 149 of file hierarchy_pane.cpp.
References m_events_bound, m_frame, TREE_ITEM_DATA::m_SheetPath, m_tree, onSelectSheetPath(), onTreeItemRightClick(), and recursiveDescent().
Referenced by UpdateHierarchyTree().
void HIERARCHY_PANE::UpdateHierarchyTree | ( | bool | aClear = false | ) |
Update the hierarchical tree of the schematic.
Definition at line 212 of file hierarchy_pane.cpp.
References buildHierarchyTree(), getRootString(), SCH_SHEET_LIST::HasPath(), m_collapsedPaths, m_events_bound, m_frame, m_list, TREE_ITEM_DATA::m_SheetPath, m_tree, onSelectSheetPath(), onTreeItemRightClick(), SCH_SHEET_PATH::Path(), SCH_SHEET_PATH::PathAsString(), and UpdateHierarchySelection().
Referenced by HIERARCHY_PANE().
void HIERARCHY_PANE::UpdateLabelsHierarchyTree | ( | ) |
Update the labels of the hierarchical tree of the schematic.
Must be called only for an up to date tree, to update displayed labels after a sheet name or a sheet number change.
Definition at line 334 of file hierarchy_pane.cpp.
References formatPageString(), SCH_SHEET::GetField(), SCH_FIELD::GetShownText(), m_tree, recursiveDescent(), and SHEET_NAME.
Referenced by onRightClick().
|
privateinherited |
Definition at line 61 of file wx_panel.h.
Referenced by OnPaint(), SetBorderColor(), and WX_PANEL().
|
privateinherited |
Definition at line 59 of file wx_panel.h.
Referenced by OnPaint(), SetBorders(), and WX_PANEL().
|
private |
Definition at line 159 of file hierarchy_pane.h.
Referenced by HIERARCHY_PANE(), and UpdateHierarchyTree().
|
private |
Definition at line 158 of file hierarchy_pane.h.
Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), and UpdateHierarchyTree().
|
private |
Definition at line 155 of file hierarchy_pane.h.
Referenced by getRootString(), HIERARCHY_PANE(), onRightClick(), onSelectSheetPath(), onTreeEditFinished(), renameIdenticalSheets(), UpdateHierarchySelection(), and UpdateHierarchyTree().
|
privateinherited |
Definition at line 56 of file wx_panel.h.
Referenced by OnPaint(), SetBorders(), and WX_PANEL().
|
private |
Definition at line 154 of file hierarchy_pane.h.
Referenced by UpdateHierarchyTree().
|
privateinherited |
Definition at line 57 of file wx_panel.h.
Referenced by OnPaint(), SetBorders(), and WX_PANEL().
|
privateinherited |
Definition at line 58 of file wx_panel.h.
Referenced by OnPaint(), SetBorders(), and WX_PANEL().
|
private |
Definition at line 156 of file hierarchy_pane.h.
Referenced by buildHierarchyTree(), GetCollapsedPaths(), HIERARCHY_PANE(), onCharHook(), onRightClick(), onSelectSheetPath(), onTreeEditFinished(), renameIdenticalSheets(), setIdenticalSheetsHighlighted(), UpdateHierarchySelection(), UpdateHierarchyTree(), UpdateLabelsHierarchyTree(), and ~HIERARCHY_PANE().