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 535 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 538 of file pcb_net_inspector_panel_data_model.h.
References m_parent, and PCB_NET_INSPECTOR_PANEL::PCB_NET_INSPECTOR_PANEL().
|
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 730 of file pcb_net_inspector_panel_data_model.h.
References group, m_custom_group_map, m_items, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::USER_DEFINED.
|
inline |
Definition at line 603 of file pcb_net_inspector_panel_data_model.h.
References group, and m_items.
Referenced by addItem().
|
inline |
Definition at line 626 of file pcb_net_inspector_panel_data_model.h.
References addGroup(), group, m_custom_group_map, m_items, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::NETCLASS.
Referenced by addItems().
|
inline |
Definition at line 680 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 540 of file pcb_net_inspector_panel_data_model.h.
References m_parent.
Referenced by GetColumnCount().
|
inlineoverrideprotected |
Definition at line 921 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(), m_parent, m_show_time_domain_details, res, and ValueStringCompare().
|
inlinestaticprotected |
Definition at line 913 of file pcb_net_inspector_panel_data_model.h.
Referenced by Compare().
|
inline |
Definition at line 747 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 688 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::ChildrenCount(), m_items, m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::Parent().
|
inline |
Definition at line 591 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 570 of file pcb_net_inspector_panel_data_model.h.
References m_items.
Referenced by findItem().
|
inline |
Definition at line 582 of file pcb_net_inspector_panel_data_model.h.
References findItem(), and NETINFO_ITEM::GetNetCode().
|
inlineoverrideprotected |
Definition at line 1039 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 829 of file pcb_net_inspector_panel_data_model.h.
References columnCount().
|
inlineoverrideprotected |
Definition at line 1074 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 553 of file pcb_net_inspector_panel_data_model.h.
References m_items.
Referenced by PCB_NET_INSPECTOR_PANEL::buildNetsList().
|
inlineoverrideprotected |
Definition at line 1018 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::Parent().
|
inlineoverrideprotected |
Definition at line 831 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, 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 1034 of file pcb_net_inspector_panel_data_model.h.
References IsContainer().
|
inlineoverrideprotected |
Definition at line 1026 of file pcb_net_inspector_panel_data_model.h.
References PCB_NET_INSPECTOR_PANEL::LIST_ITEM::GetIsGroup().
Referenced by HasContainerColumns().
|
inline |
Definition at line 551 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 791 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, 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 542 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 774 of file pcb_net_inspector_panel_data_model.h.
References itemColumnChanged(), m_parent, and PCB_NET_INSPECTOR_PANEL::LIST_ITEM::Parent().
Referenced by updateItem().
|
inline |
Definition at line 821 of file pcb_net_inspector_panel_data_model.h.
References m_show_time_domain_details.
|
inlineoverrideprotected |
Definition at line 1012 of file pcb_net_inspector_panel_data_model.h.
|
inline |
Definition at line 768 of file pcb_net_inspector_panel_data_model.h.
References m_items.
|
inline |
Definition at line 754 of file pcb_net_inspector_panel_data_model.h.
References resortIfChanged().
|
inline |
Definition at line 544 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 1085 of file pcb_net_inspector_panel_data_model.h.
Referenced by addCustomGroups(), and addItem().
|
private |
Definition at line 1082 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 1077 of file pcb_net_inspector_panel_data_model.h.
Referenced by addCustomGroups(), addItem(), columnCount(), Compare(), DATA_MODEL(), deleteItem(), GetValue(), itemColumnChanged(), and resortIfChanged().
|
private |
Definition at line 1087 of file pcb_net_inspector_panel_data_model.h.
Referenced by Compare(), GetValue(), and SetIsTimeDomain().