KiCad PCB EDA Suite
|
Data model for display in the Net Inspector panel. More...
#include <pcb_net_inspector_panel_data_model.h>
Public Member Functions | |
DATA_MODEL (PCB_NET_INSPECTOR_PANEL &parent) | |
unsigned int | columnCount () const |
unsigned int | itemCount () const |
wxVariant | valueAt (unsigned int aCol, unsigned int aRow) const |
const LIST_ITEM & | itemAt (unsigned int aRow) const |
std::vector< std::pair< wxString, wxDataViewItem > > | getGroupDataViewItems () |
std::optional< LIST_ITEM_ITER > | findItem (int aNetCode) |
std::optional< LIST_ITEM_ITER > | findItem (NETINFO_ITEM *aNet) |
std::optional< LIST_ITEM_ITER > | findGroupItem (int aGroupNumber) |
LIST_ITEM * | addGroup (LIST_ITEM_ITER groupsBegin, LIST_ITEM_ITER groupsEnd, wxString groupName, LIST_ITEM::GROUP_TYPE groupType) |
std::optional< LIST_ITEM_ITER > | addItem (std::unique_ptr< LIST_ITEM > aItem) |
void | addItems (std::vector< std::unique_ptr< LIST_ITEM > > &aItems) |
std::unique_ptr< LIST_ITEM > | deleteItem (const std::optional< LIST_ITEM_ITER > &aRow) |
void | addCustomGroups () |
Adds all custom group-by entries to the items table. | |
void | deleteAllItems () |
void | updateItem (const std::optional< LIST_ITEM_ITER > &aRow) |
void | updateAllItems () |
void | resortIfChanged (LIST_ITEM *aItem) |
bool | itemColumnChanged (const LIST_ITEM *aItem, unsigned int aCol) const |
void | SetIsTimeDomain (const bool aIsTimeDomain) |
Protected Member Functions | |
unsigned int | GetColumnCount () const override |
void | GetValue (wxVariant &aOutValue, const wxDataViewItem &aItem, unsigned int aCol) const override |
int | Compare (const wxDataViewItem &aItem1, const wxDataViewItem &aItem2, unsigned int aCol, bool aAsc) const override |
bool | SetValue (const wxVariant &aInValue, const wxDataViewItem &aItem, unsigned int aCol) override |
wxDataViewItem | GetParent (const wxDataViewItem &aItem) const override |
bool | IsContainer (const wxDataViewItem &aItem) const override |
bool | HasContainerColumns (const wxDataViewItem &aItem) const override |
unsigned int | GetChildren (const wxDataViewItem &aParent, wxDataViewItemArray &aChildren) const override |
wxString | GetColumnType (unsigned int) const override |
Static Protected Member Functions | |
static int | compareUInt (int64_t aValue1, int64_t aValue2, bool aAsc) |
Private Attributes | |
PCB_NET_INSPECTOR_PANEL & | m_parent |
std::vector< std::unique_ptr< LIST_ITEM > > | m_items |
std::map< wxString, LIST_ITEM * > | m_custom_group_map |
Map of custom group names to their representative list item. | |
bool | m_show_time_domain_details { false } |
Data model for display in the Net Inspector panel.
Definition at line 534 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 537 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Adds all custom group-by entries to the items table.
Note this assumes that m_items is empty prior to adding these groups
Definition at line 729 of file pcb_net_inspector_panel_data_model.h.
References BOARD::GetCopperLayerCount(), group, PCB_NET_INSPECTOR_PANEL::m_board, m_custom_group_map, PCB_NET_INSPECTOR_PANEL::m_custom_group_rules, m_items, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::USER_DEFINED.
|
inline |
Definition at line 602 of file pcb_net_inspector_panel_data_model.h.
References group, and m_items.
Referenced by addItem().
|
inline |
Definition at line 625 of file pcb_net_inspector_panel_data_model.h.
References addGroup(), group, m_custom_group_map, PCB_NET_INSPECTOR_PANEL::m_custom_group_rules, PCB_NET_INSPECTOR_PANEL::m_groupByNetclass, m_items, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::NETCLASS.
Referenced by addItems().
|
inline |
Definition at line 679 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 539 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::m_columns, and m_parent.
Referenced by GetColumnCount().
|
inlineoverrideprotected |
Definition at line 920 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::COLUMN_BOARD_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_LAST_STATIC_COL, PCB_NET_INSPECTOR_PANEL::COLUMN_NAME, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_DIE_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_TOTAL_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_LENGTH, compareUInt(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetBoardWireDelay(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetBoardWireLength(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetIsGroup(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetLayerWireDelay(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetLayerWireLength(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetNetName(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetPadCount(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetPadDieDelay(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetPadDieLength(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetTotalDelay(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetTotalLength(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetViaCount(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetViaDelay(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetViaLength(), PCB_NET_INSPECTOR_PANEL::m_columns, m_parent, m_show_time_domain_details, res, and ValueStringCompare().
|
inlinestaticprotected |
Definition at line 912 of file pcb_net_inspector_panel_data_model.h.
Referenced by Compare().
|
inline |
Definition at line 746 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
|
inline |
Definition at line 590 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 569 of file pcb_net_inspector_panel_data_model.h.
References m_items.
Referenced by findItem().
|
inline |
Definition at line 581 of file pcb_net_inspector_panel_data_model.h.
References findItem(), and NETINFO_ITEM::GetNetCode().
|
inlineoverrideprotected |
Definition at line 1038 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ChildrenBegin(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ChildrenCount(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ChildrenEnd(), end, PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetIsGroup(), and m_items.
|
inlineoverrideprotected |
Definition at line 828 of file pcb_net_inspector_panel_data_model.h.
References columnCount().
|
inlineoverrideprotected |
Definition at line 1073 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 552 of file pcb_net_inspector_panel_data_model.h.
References m_items.
Referenced by PCB_NET_INSPECTOR_PANEL::buildNetsList().
|
inlineoverrideprotected |
Definition at line 1017 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::Parent().
|
inlineoverrideprotected |
Definition at line 830 of file pcb_net_inspector_panel_data_model.h.
References _, PCB_NET_INSPECTOR_PANEL::COLUMN_BOARD_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_LAST_STATIC_COL, PCB_NET_INSPECTOR_PANEL::COLUMN_NAME, PCB_NET_INSPECTOR_PANEL::COLUMN_NETCLASS, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_DIE_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_TOTAL_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_LENGTH, PCB_NET_INSPECTOR_PANEL::formatCount(), PCB_NET_INSPECTOR_PANEL::formatDelay(), PCB_NET_INSPECTOR_PANEL::formatLength(), PCB_NET_INSPECTOR_PANEL::m_columns, m_parent, m_show_time_domain_details, PCB_NET_INSPECTOR_PANEL::LIST_ITEM::NETCLASS, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::USER_DEFINED.
Referenced by valueAt().
|
inlineoverrideprotected |
Definition at line 1033 of file pcb_net_inspector_panel_data_model.h.
References IsContainer().
|
inlineoverrideprotected |
Definition at line 1025 of file pcb_net_inspector_panel_data_model.h.
Referenced by HasContainerColumns().
|
inline |
Definition at line 550 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 790 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::BoardWireLengthChanged(), PCB_NET_INSPECTOR_PANEL::COLUMN_BOARD_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_LAST_STATIC_COL, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_PAD_DIE_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_TOTAL_LENGTH, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_COUNT, PCB_NET_INSPECTOR_PANEL::COLUMN_VIA_LENGTH, PCB_NET_INSPECTOR_PANEL::m_columns, m_parent, PCB_NET_INSPECTOR_PANEL::LIST_ITEM::PadCountChanged(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::PadDieLengthChanged(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::TotalLengthChanged(), PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ViaCountChanged(), and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ViaLengthChanged().
Referenced by resortIfChanged().
|
inline |
Definition at line 541 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 773 of file pcb_net_inspector_panel_data_model.h.
References itemColumnChanged(), NET_INSPECTOR_PANEL::m_netsList, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::Parent().
Referenced by updateItem().
|
inline |
Definition at line 820 of file pcb_net_inspector_panel_data_model.h.
References m_show_time_domain_details.
|
inlineoverrideprotected |
Definition at line 1011 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 767 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 753 of file pcb_net_inspector_panel_data_model.h.
References resortIfChanged().
|
inline |
Definition at line 543 of file pcb_net_inspector_panel_data_model.h.
References GetValue(), and m_items.
|
private |
Map of custom group names to their representative list item.
Definition at line 1084 of file pcb_net_inspector_panel_data_model.h.
Referenced by addCustomGroups(), and addItem().
|
private |
Definition at line 1081 of file pcb_net_inspector_panel_data_model.h.
Referenced by addCustomGroups(), addGroup(), addItem(), addItems(), deleteAllItems(), deleteItem(), findGroupItem(), findItem(), GetChildren(), getGroupDataViewItems(), itemAt(), itemCount(), updateAllItems(), and valueAt().
|
private |
Definition at line 1076 of file pcb_net_inspector_panel_data_model.h.
Referenced by addCustomGroups(), addItem(), columnCount(), Compare(), deleteItem(), GetValue(), itemColumnChanged(), and resortIfChanged().
|
private |
Definition at line 1086 of file pcb_net_inspector_panel_data_model.h.
Referenced by Compare(), GetValue(), and SetIsTimeDomain().