KiCad PCB EDA Suite
Loading...
Searching...
No Matches
HIERARCHY_PANE Class Reference

#include <hierarchy_pane.h>

Inheritance diagram for HIERARCHY_PANE:
WX_PANEL

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_FRAMEm_frame
 
HIERARCHY_TREEm_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
 

Detailed Description

Definition at line 71 of file hierarchy_pane.h.

Member Enumeration Documentation

◆ ContextMenuAction

Enumerator
EDIT_PAGE_NUMBER 
EXPAND_ALL 
COLLAPSE_ALL 
RENAME 

Definition at line 74 of file hierarchy_pane.h.

Constructor & Destructor Documentation

◆ HIERARCHY_PANE()

◆ ~HIERARCHY_PANE()

HIERARCHY_PANE::~HIERARCHY_PANE ( )

Member Function Documentation

◆ buildHierarchyTree()

void HIERARCHY_PANE::buildHierarchyTree ( SCH_SHEET_PATH * aList,
const wxTreeItemId & aParent )
private

Create the hierarchical tree of the schematic.

Warning
This routine is reentrant!
Parameters
[in]aListis the SCH_SHEET_PATH list to explore.
aPreviousmenuis 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().

◆ formatPageString()

wxString HIERARCHY_PANE::formatPageString ( const wxString & aName,
const wxString & aPage )
private
Returns
String with page number in parenthesis

Definition at line 608 of file hierarchy_pane.cpp.

References _.

Referenced by buildHierarchyTree(), getRootString(), onTreeEditFinished(), renameIdenticalSheets(), and UpdateLabelsHierarchyTree().

◆ GetCollapsedPaths()

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().

◆ getRootString()

wxString HIERARCHY_PANE::getRootString ( )
private
Returns
String with page number in parenthesis

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().

◆ onCharHook()

void HIERARCHY_PANE::onCharHook ( wxKeyEvent & aKeyStroke)
private

◆ OnPaint()

void WX_PANEL::OnPaint ( wxPaintEvent & event)
privateinherited

◆ onRightClick()

◆ onSelectSheetPath()

void HIERARCHY_PANE::onSelectSheetPath ( wxTreeEvent & aEvent)
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().

◆ onTreeEditFinished()

◆ onTreeItemRightClick()

void HIERARCHY_PANE::onTreeItemRightClick ( wxTreeEvent & aEvent)
private

◆ onTreeRightClick()

void HIERARCHY_PANE::onTreeRightClick ( wxTreeEvent & event)
private

References path.

◆ renameIdenticalSheets()

void HIERARCHY_PANE::renameIdenticalSheets ( const SCH_SHEET_PATH & renamedSheet,
const wxString newName,
SCH_COMMIT * commit )
private

◆ SetBorderColor()

void WX_PANEL::SetBorderColor ( const KIGFX::COLOR4D & aColor)
inlineinherited

Definition at line 47 of file wx_panel.h.

References m_borderColor.

Referenced by SYMBOL_TREE_SYNCHRONIZING_ADAPTER::ShowPreview().

◆ SetBorders()

◆ setIdenticalSheetsHighlighted()

void HIERARCHY_PANE::setIdenticalSheetsHighlighted ( const SCH_SHEET_PATH & path,
bool highLighted = true )
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().

◆ UpdateHierarchySelection()

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().

◆ UpdateHierarchyTree()

void HIERARCHY_PANE::UpdateHierarchyTree ( bool aClear = false)

◆ UpdateLabelsHierarchyTree()

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().

Member Data Documentation

◆ m_borderColor

KIGFX::COLOR4D WX_PANEL::m_borderColor
privateinherited

Definition at line 61 of file wx_panel.h.

Referenced by OnPaint(), SetBorderColor(), and WX_PANEL().

◆ m_bottomBorder

bool WX_PANEL::m_bottomBorder
privateinherited

Definition at line 59 of file wx_panel.h.

Referenced by OnPaint(), SetBorders(), and WX_PANEL().

◆ m_collapsedPaths

std::set<wxString> HIERARCHY_PANE::m_collapsedPaths
private

Definition at line 159 of file hierarchy_pane.h.

Referenced by HIERARCHY_PANE(), and UpdateHierarchyTree().

◆ m_events_bound

bool HIERARCHY_PANE::m_events_bound
private

Definition at line 158 of file hierarchy_pane.h.

Referenced by HIERARCHY_PANE(), UpdateHierarchySelection(), and UpdateHierarchyTree().

◆ m_frame

◆ m_leftBorder

bool WX_PANEL::m_leftBorder
privateinherited

Definition at line 56 of file wx_panel.h.

Referenced by OnPaint(), SetBorders(), and WX_PANEL().

◆ m_list

SCH_SHEET_PATH HIERARCHY_PANE::m_list
private

Definition at line 154 of file hierarchy_pane.h.

Referenced by UpdateHierarchyTree().

◆ m_rightBorder

bool WX_PANEL::m_rightBorder
privateinherited

Definition at line 57 of file wx_panel.h.

Referenced by OnPaint(), SetBorders(), and WX_PANEL().

◆ m_topBorder

bool WX_PANEL::m_topBorder
privateinherited

Definition at line 58 of file wx_panel.h.

Referenced by OnPaint(), SetBorders(), and WX_PANEL().

◆ m_tree


The documentation for this class was generated from the following files: