|
KiCad PCB EDA Suite
|
#include <hierarchy_pane.h>
Public Types | |
| enum | ContextMenuAction { EDIT_PAGE_NUMBER , EXPAND_ALL , COLLAPSE_ALL , RENAME , NEW_TOP_LEVEL_SHEET , DELETE_TOP_LEVEL_SHEET } |
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 | onContextMenu (wxContextMenuEvent &aEvent) |
| 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 | |
| NEW_TOP_LEVEL_SHEET | |
| DELETE_TOP_LEVEL_SHEET | |
Definition at line 74 of file hierarchy_pane.h.
| HIERARCHY_PANE::HIERARCHY_PANE | ( | SCH_EDIT_FRAME * | aParent | ) |
Definition at line 66 of file hierarchy_pane.cpp.
References KiBitmap(), KiBitmapBundle(), m_collapsedPaths, m_events_bound, m_frame, PROJECT_LOCAL_SETTINGS::m_SchHierarchyCollapsed, m_tree, onCharHook(), onContextMenu(), onSelectSheetPath(), onTreeEditFinished(), onTreeItemRightClick(), path, tree_nosel, tree_sel, UpdateHierarchyTree(), and WX_PANEL::WX_PANEL().
| HIERARCHY_PANE::~HIERARCHY_PANE | ( | ) |
Definition at line 118 of file hierarchy_pane.cpp.
References m_tree, onCharHook(), onContextMenu(), 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 129 of file hierarchy_pane.cpp.
References buildHierarchyTree(), formatPageString(), SCH_SHEET::GetField(), SCH_SHEET::GetFileName(), 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 804 of file hierarchy_pane.cpp.
References _.
Referenced by buildHierarchyTree(), onTreeEditFinished(), renameIdenticalSheets(), UpdateHierarchyTree(), and UpdateLabelsHierarchyTree().
| std::vector< wxString > HIERARCHY_PANE::GetCollapsedPaths | ( | ) | const |
Returns a list of sheet paths for nodes that are currently collapsed.
Definition at line 443 of file hierarchy_pane.cpp.
References TREE_ITEM_DATA::m_SheetPath, m_tree, and SCH_SHEET_PATH::PathAsString().
|
private |
Definition at line 788 of file hierarchy_pane.cpp.
Referenced by UpdateHierarchyTree().
|
private |
Definition at line 735 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().
|
private |
Definition at line 485 of file hierarchy_pane.cpp.
References onRightClick().
Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), UpdateHierarchyTree(), 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 492 of file hierarchy_pane.cpp.
References _, COLLAPSE_ALL, ACTIONS::collapseAll, DELETE_TOP_LEVEL_SHEET, EDIT_PAGE_NUMBER, EXPAND_ALL, ACTIONS::expandAll, SCH_SHEET::GetField(), 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(), NEW_TOP_LEVEL_SHEET, SCH_SHEET_PATH::PathHumanReadable(), SCH_SHEET_PATH::pop_back(), SCH_COMMIT::Push(), RENAME, SCH_SCREEN::SetFileName(), setIdenticalSheetsHighlighted(), BASE_SCREEN::SetPageNumber(), SCH_SHEET_PATH::SetPageNumber(), SCH_SHEET::SetScreen(), SCH_FIELD::SetText(), SHEET_NAME, SCH_SHEET_PATH::size(), UpdateHierarchyTree(), and UpdateLabelsHierarchyTree().
Referenced by onContextMenu(), and onTreeItemRightClick().
|
private |
Open the selected sheet and display the corresponding screen when a tree item is selected.
Definition at line 380 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 676 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 479 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 838 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 809 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 160 of file hierarchy_pane.cpp.
References m_events_bound, m_frame, TREE_ITEM_DATA::m_SheetPath, m_tree, onContextMenu(), onSelectSheetPath(), onTreeItemRightClick(), and recursiveDescent().
Referenced by UpdateHierarchyTree().
| void HIERARCHY_PANE::UpdateHierarchyTree | ( | bool | aClear = false | ) |
Update the hierarchical tree of the schematic.
Definition at line 246 of file hierarchy_pane.cpp.
References buildHierarchyTree(), formatPageString(), getRootString(), SCH_SHEET_LIST::HasPath(), m_collapsedPaths, m_events_bound, m_frame, m_list, TREE_ITEM_DATA::m_SheetPath, m_tree, onContextMenu(), onSelectSheetPath(), onTreeItemRightClick(), SCH_SHEET_PATH::Path(), SCH_SHEET_PATH::PathAsString(), and UpdateHierarchySelection().
Referenced by HIERARCHY_PANE(), and onRightClick().
| 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 398 of file hierarchy_pane.cpp.
References formatPageString(), SCH_SHEET::GetField(), SCH_SHEET_PATH::GetPageNumber(), SCH_FIELD::GetShownText(), SCH_SHEET_PATH::Last(), TREE_ITEM_DATA::m_SheetPath, 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 162 of file hierarchy_pane.h.
Referenced by HIERARCHY_PANE(), and UpdateHierarchyTree().
|
private |
Definition at line 161 of file hierarchy_pane.h.
Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), and UpdateHierarchyTree().
|
private |
Definition at line 158 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 157 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 159 of file hierarchy_pane.h.
Referenced by buildHierarchyTree(), GetCollapsedPaths(), HIERARCHY_PANE(), onCharHook(), onRightClick(), onSelectSheetPath(), onTreeEditFinished(), renameIdenticalSheets(), setIdenticalSheetsHighlighted(), UpdateHierarchySelection(), UpdateHierarchyTree(), UpdateLabelsHierarchyTree(), and ~HIERARCHY_PANE().