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

Schematic-Setup tab for managing committed net chains. More...

#include <panel_setup_net_chains.h>

Inheritance diagram for PANEL_SETUP_NET_CHAINS:
PANEL_SETUP_NET_CHAINS_BASE

Classes

struct  CHAIN_ROW
 
struct  CLASS_ROW
 

Public Member Functions

 PANEL_SETUP_NET_CHAINS (wxWindow *aParent, SCH_EDIT_FRAME *aFrame)
 
 ~PANEL_SETUP_NET_CHAINS () override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool Validate () override
 
bool ApplyEdits ()
 
void m_chainsSplitterOnIdle (wxIdleEvent &)
 

Protected Member Functions

void OnDeleteChainClicked (wxCommandEvent &aEvent) override
 
void OnChainGridSelectionChanged (wxGridEvent &aEvent) override
 
void OnClassAddClicked (wxCommandEvent &aEvent) override
 
void OnClassRenameClicked (wxCommandEvent &aEvent) override
 
void OnClassDeleteClicked (wxCommandEvent &aEvent) override
 

Protected Attributes

wxNotebook * m_notebook
 
wxPanel * m_chainsTab
 
wxStaticText * m_chainsHeader
 
wxSplitterWindow * m_chainsSplitter
 
wxPanel * m_chainsGridPanel
 
WX_GRIDm_chainsGrid
 
wxPanel * m_membersPanel
 
wxStaticText * m_membersLabel
 
wxListBox * m_membersListBox
 
STD_BITMAP_BUTTONm_deleteChainButton
 
wxPanel * m_classesTab
 
wxStaticText * m_classesHeader
 
WX_GRIDm_classesGrid
 
STD_BITMAP_BUTTONm_addClassButton
 
STD_BITMAP_BUTTONm_renameClassButton
 
STD_BITMAP_BUTTONm_deleteClassButton
 

Private Types

enum  CHAIN_COL {
  COL_NAME = 0 , COL_MEMBERS , COL_CHAIN_CLASS , COL_NET_CLASS ,
  COL_COLOUR
}
 
enum  CLASS_COL { CLASS_COL_NAME = 0 , CLASS_COL_MEMBERS }
 

Private Member Functions

void loadFromModel ()
 
void rebuildChainsGrid ()
 
void rebuildClassesGrid ()
 
void refreshChainClassDropdownChoices ()
 
void refreshNetClassDropdownChoices ()
 
int selectedChainRow () const
 
int selectedClassRow () const
 
bool nameInChainGridAlready (const wxString &aName, int aExceptRow) const
 
bool nameInClassGridAlready (const wxString &aName, int aExceptRow) const
 
void updateMembersDetail (int aRow)
 

Private Attributes

SCH_EDIT_FRAMEm_frame
 
std::vector< CHAIN_ROWm_chainRows
 
std::vector< int > m_gridToChainIdx
 
std::vector< CLASS_ROWm_classRows
 

Detailed Description

Schematic-Setup tab for managing committed net chains.

All edits are buffered in m_chainRows / m_classRows so that pressing Cancel in the parent dialog leaves the live model untouched. TransferDataFromWindow applies them in dependency order:

  1. Rename committed chains (via RenameCommittedNetChain)
  2. Update colour / netclass override on each committed chain
  3. Apply chain-class assignments to NET_SETTINGS::m_netChainClasses
  4. Delete committed chains (via DeleteCommittedNetChain)
  5. Reconcile the chain-class master list against tab 2's edits

Definition at line 48 of file panel_setup_net_chains.h.

Member Enumeration Documentation

◆ CHAIN_COL

Enumerator
COL_NAME 
COL_MEMBERS 
COL_CHAIN_CLASS 
COL_NET_CLASS 
COL_COLOUR 

Definition at line 69 of file panel_setup_net_chains.h.

◆ CLASS_COL

Enumerator
CLASS_COL_NAME 
CLASS_COL_MEMBERS 

Definition at line 78 of file panel_setup_net_chains.h.

Constructor & Destructor Documentation

◆ PANEL_SETUP_NET_CHAINS()

◆ ~PANEL_SETUP_NET_CHAINS()

PANEL_SETUP_NET_CHAINS::~PANEL_SETUP_NET_CHAINS ( )
override

Definition at line 105 of file panel_setup_net_chains.cpp.

Member Function Documentation

◆ ApplyEdits()

bool PANEL_SETUP_NET_CHAINS::ApplyEdits ( )

◆ loadFromModel()

◆ m_chainsSplitterOnIdle()

void PANEL_SETUP_NET_CHAINS_BASE::m_chainsSplitterOnIdle ( wxIdleEvent & )
inlineinherited

◆ nameInChainGridAlready()

bool PANEL_SETUP_NET_CHAINS::nameInChainGridAlready ( const wxString & aName,
int aExceptRow ) const
private

Definition at line 573 of file panel_setup_net_chains.cpp.

References m_chainRows.

Referenced by Validate().

◆ nameInClassGridAlready()

bool PANEL_SETUP_NET_CHAINS::nameInClassGridAlready ( const wxString & aName,
int aExceptRow ) const
private

Definition at line 591 of file panel_setup_net_chains.cpp.

References m_classRows.

Referenced by OnClassAddClicked(), OnClassRenameClicked(), and Validate().

◆ OnChainGridSelectionChanged()

void PANEL_SETUP_NET_CHAINS::OnChainGridSelectionChanged ( wxGridEvent & aEvent)
overrideprotectedvirtual

Reimplemented from PANEL_SETUP_NET_CHAINS_BASE.

Definition at line 630 of file panel_setup_net_chains.cpp.

References m_gridToChainIdx, and updateMembersDetail().

◆ OnClassAddClicked()

void PANEL_SETUP_NET_CHAINS::OnClassAddClicked ( wxCommandEvent & aEvent)
overrideprotectedvirtual

◆ OnClassDeleteClicked()

void PANEL_SETUP_NET_CHAINS::OnClassDeleteClicked ( wxCommandEvent & aEvent)
overrideprotectedvirtual

◆ OnClassRenameClicked()

void PANEL_SETUP_NET_CHAINS::OnClassRenameClicked ( wxCommandEvent & aEvent)
overrideprotectedvirtual

◆ OnDeleteChainClicked()

void PANEL_SETUP_NET_CHAINS::OnDeleteChainClicked ( wxCommandEvent & aEvent)
overrideprotectedvirtual

◆ rebuildChainsGrid()

◆ rebuildClassesGrid()

◆ refreshChainClassDropdownChoices()

void PANEL_SETUP_NET_CHAINS::refreshChainClassDropdownChoices ( )
private

◆ refreshNetClassDropdownChoices()

void PANEL_SETUP_NET_CHAINS::refreshNetClassDropdownChoices ( )
private

◆ selectedChainRow()

int PANEL_SETUP_NET_CHAINS::selectedChainRow ( ) const
private

◆ selectedClassRow()

int PANEL_SETUP_NET_CHAINS::selectedClassRow ( ) const
private

◆ TransferDataFromWindow()

bool PANEL_SETUP_NET_CHAINS::TransferDataFromWindow ( )
override

Definition at line 401 of file panel_setup_net_chains.cpp.

References ApplyEdits(), and Validate().

◆ TransferDataToWindow()

bool PANEL_SETUP_NET_CHAINS::TransferDataToWindow ( )
override

◆ updateMembersDetail()

◆ Validate()

Member Data Documentation

◆ m_addClassButton

STD_BITMAP_BUTTON* PANEL_SETUP_NET_CHAINS_BASE::m_addClassButton
protectedinherited

◆ m_chainRows

◆ m_chainsGrid

◆ m_chainsGridPanel

wxPanel* PANEL_SETUP_NET_CHAINS_BASE::m_chainsGridPanel
protectedinherited

Definition at line 48 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_chainsHeader

wxStaticText* PANEL_SETUP_NET_CHAINS_BASE::m_chainsHeader
protectedinherited

◆ m_chainsSplitter

wxSplitterWindow* PANEL_SETUP_NET_CHAINS_BASE::m_chainsSplitter
protectedinherited

◆ m_chainsTab

wxPanel* PANEL_SETUP_NET_CHAINS_BASE::m_chainsTab
protectedinherited

Definition at line 45 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_classesGrid

◆ m_classesHeader

wxStaticText* PANEL_SETUP_NET_CHAINS_BASE::m_classesHeader
protectedinherited

Definition at line 55 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_classesTab

wxPanel* PANEL_SETUP_NET_CHAINS_BASE::m_classesTab
protectedinherited

Definition at line 54 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_classRows

◆ m_deleteChainButton

STD_BITMAP_BUTTON* PANEL_SETUP_NET_CHAINS_BASE::m_deleteChainButton
protectedinherited

◆ m_deleteClassButton

STD_BITMAP_BUTTON* PANEL_SETUP_NET_CHAINS_BASE::m_deleteClassButton
protectedinherited

◆ m_frame

SCH_EDIT_FRAME* PANEL_SETUP_NET_CHAINS::m_frame
private

◆ m_gridToChainIdx

std::vector<int> PANEL_SETUP_NET_CHAINS::m_gridToChainIdx
private

◆ m_membersLabel

wxStaticText* PANEL_SETUP_NET_CHAINS_BASE::m_membersLabel
protectedinherited

◆ m_membersListBox

wxListBox* PANEL_SETUP_NET_CHAINS_BASE::m_membersListBox
protectedinherited

◆ m_membersPanel

wxPanel* PANEL_SETUP_NET_CHAINS_BASE::m_membersPanel
protectedinherited

Definition at line 50 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_notebook

wxNotebook* PANEL_SETUP_NET_CHAINS_BASE::m_notebook
protectedinherited

Definition at line 44 of file panel_setup_net_chains_base.h.

Referenced by PANEL_SETUP_NET_CHAINS_BASE().

◆ m_renameClassButton

STD_BITMAP_BUTTON* PANEL_SETUP_NET_CHAINS_BASE::m_renameClassButton
protectedinherited

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