Browse Source

Formatting.

master
Jeff Young 4 weeks ago
parent
commit
d2aea1fb14
  1. 6
      pcbnew/widgets/net_inspector_panel.cpp
  2. 11
      pcbnew/widgets/net_inspector_panel.h
  3. 151
      pcbnew/widgets/pcb_net_inspector_panel.cpp
  4. 40
      pcbnew/widgets/pcb_net_inspector_panel.h
  5. 54
      pcbnew/widgets/pcb_net_inspector_panel_data_model.h

6
pcbnew/widgets/net_inspector_panel.cpp

@ -71,8 +71,7 @@ NET_INSPECTOR_PANEL::NET_INSPECTOR_PANEL( wxWindow* parent, EDA_BASE_FRAME* aFra
Bind( wxEVT_SET_FOCUS, &NET_INSPECTOR_PANEL::OnSetFocus, this );
Bind( wxEVT_SIZE, &NET_INSPECTOR_PANEL::OnSize, this );
m_searchCtrl->Bind( wxEVT_COMMAND_TEXT_UPDATED, &NET_INSPECTOR_PANEL::OnSearchTextChanged,
this );
m_searchCtrl->Bind( wxEVT_COMMAND_TEXT_UPDATED, &NET_INSPECTOR_PANEL::OnSearchTextChanged, this );
m_netsList->Bind( wxEVT_SET_FOCUS, &NET_INSPECTOR_PANEL::OnSetFocus, this );
m_configureBtn->Bind( wxEVT_BUTTON, &NET_INSPECTOR_PANEL::OnConfigButton, this );
}
@ -86,8 +85,7 @@ NET_INSPECTOR_PANEL::~NET_INSPECTOR_PANEL()
Unbind( wxEVT_SET_FOCUS, &NET_INSPECTOR_PANEL::OnSetFocus, this );
Unbind( wxEVT_SIZE, &NET_INSPECTOR_PANEL::OnSize, this );
m_searchCtrl->Unbind( wxEVT_COMMAND_TEXT_UPDATED, &NET_INSPECTOR_PANEL::OnSearchTextChanged,
this );
m_searchCtrl->Unbind( wxEVT_COMMAND_TEXT_UPDATED, &NET_INSPECTOR_PANEL::OnSearchTextChanged, this );
m_netsList->Unbind( wxEVT_SET_FOCUS, &NET_INSPECTOR_PANEL::OnSetFocus, this );
m_configureBtn->Unbind( wxEVT_BUTTON, &NET_INSPECTOR_PANEL::OnConfigButton, this );
}

11
pcbnew/widgets/net_inspector_panel.h

@ -17,8 +17,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef NET_INSPECTOR_PANEL_BASE_H
#define NET_INSPECTOR_PANEL_BASE_H
#pragma once
#include <bitmaps.h>
#include <widgets/bitmap_button.h>
@ -53,12 +52,12 @@ public:
* Called by the parent EDA_EDIT_FRAME on change of settings (e.g. stackup, netclass
* definitions)
*/
virtual void OnParentSetupChanged(){};
virtual void OnParentSetupChanged() {};
/**
* Save the net inspector settings - called from EDA_EDIT_FRAME when hiding the panel
*/
virtual void SaveSettings(){};
virtual void SaveSettings() {};
/**
* Prepare the panel when (re-)shown in the editor
@ -81,7 +80,7 @@ protected:
/**
* Implementation-specific implementation of language update handling
*/
virtual void OnLanguageChangedImpl(){};
virtual void OnLanguageChangedImpl() {};
protected:
EDA_BASE_FRAME* m_frame;
@ -91,5 +90,3 @@ protected:
BITMAP_BUTTON* m_configureBtn;
wxDataViewCtrl* m_netsList;
};
#endif

151
pcbnew/widgets/pcb_net_inspector_panel.cpp

@ -227,6 +227,7 @@ void PCB_NET_INSPECTOR_PANEL::buildColumns()
// Check that all rows are unique to protect against corrupted settings data
std::set<int> col_order_set( cfg->col_order.begin(), cfg->col_order.end() );
if( col_order_set.size() != cfg->col_order.size() )
{
for( std::size_t i = 0; i < cfg->col_order.size(); ++i )
@ -399,8 +400,7 @@ void PCB_NET_INSPECTOR_PANEL::buildNetsList( const bool rebuildColumns )
cfg->expanded_rows.clear();
DATA_MODEL* model = static_cast<DATA_MODEL*>( m_netsList->GetModel() );
for( const auto& groupItems = model->getGroupDataViewItems();
auto& [groupName, groupItem] : groupItems )
for( const auto& [groupName, groupItem] : model->getGroupDataViewItems() )
{
if( m_netsList->IsExpanded( groupItem ) )
cfg->expanded_rows.push_back( groupName );
@ -655,45 +655,45 @@ PCB_NET_INSPECTOR_PANEL::calculateNets( const std::vector<NETINFO_ITEM*>& aNetCo
thread_pool& tp = GetKiCadThreadPool();
auto resultsFuture = tp.submit_loop(
0, foundNets.size(),
[&, this, calc]( const int i )
{
int netCode = foundNets[i]->GetNetCode();
constexpr PATH_OPTIMISATIONS opts = { .OptimiseViaLayers = true,
.MergeTracks = true,
.OptimiseTracesInPads = true,
.InferViaInPad = false };
LENGTH_DELAY_STATS lengthDetails = calc->CalculateLengthDetails(
netItemsMap[netCode],
opts,
nullptr,
nullptr,
LENGTH_DELAY_LAYER_OPT::WITH_LAYER_DETAIL,
m_showTimeDomainDetails ? LENGTH_DELAY_DOMAIN_OPT::WITH_DELAY_DETAIL
: LENGTH_DELAY_DOMAIN_OPT::NO_DELAY_DETAIL );
if( aIncludeZeroPadNets || lengthDetails.NumPads > 0 )
0, foundNets.size(),
[&, this, calc]( const int i )
{
std::unique_ptr<LIST_ITEM> new_item = std::make_unique<LIST_ITEM>( foundNets[i] );
new_item->SetPadCount( lengthDetails.NumPads );
new_item->SetLayerCount( m_board->GetCopperLayerCount() );
new_item->SetPadDieLength( lengthDetails.PadToDieLength );
new_item->SetPadDieDelay( lengthDetails.PadToDieDelay );
new_item->SetViaCount( lengthDetails.NumVias );
new_item->SetViaLength( lengthDetails.ViaLength );
new_item->SetViaDelay( lengthDetails.ViaDelay );
new_item->SetLayerWireLengths( *lengthDetails.LayerLengths );
if( m_showTimeDomainDetails )
new_item->SetLayerWireDelays( *lengthDetails.LayerDelays );
std::scoped_lock lock( resultsMutex );
results.emplace_back( std::move( new_item ) );
}
} );
int netCode = foundNets[i]->GetNetCode();
constexpr PATH_OPTIMISATIONS opts = { .OptimiseViaLayers = true,
.MergeTracks = true,
.OptimiseTracesInPads = true,
.InferViaInPad = false };
LENGTH_DELAY_STATS lengthDetails = calc->CalculateLengthDetails(
netItemsMap[netCode],
opts,
nullptr,
nullptr,
LENGTH_DELAY_LAYER_OPT::WITH_LAYER_DETAIL,
m_showTimeDomainDetails ? LENGTH_DELAY_DOMAIN_OPT::WITH_DELAY_DETAIL
: LENGTH_DELAY_DOMAIN_OPT::NO_DELAY_DETAIL );
if( aIncludeZeroPadNets || lengthDetails.NumPads > 0 )
{
std::unique_ptr<LIST_ITEM> new_item = std::make_unique<LIST_ITEM>( foundNets[i] );
new_item->SetPadCount( lengthDetails.NumPads );
new_item->SetLayerCount( m_board->GetCopperLayerCount() );
new_item->SetPadDieLength( lengthDetails.PadToDieLength );
new_item->SetPadDieDelay( lengthDetails.PadToDieDelay );
new_item->SetViaCount( lengthDetails.NumVias );
new_item->SetViaLength( lengthDetails.ViaLength );
new_item->SetViaDelay( lengthDetails.ViaDelay );
new_item->SetLayerWireLengths( *lengthDetails.LayerLengths );
if( m_showTimeDomainDetails )
new_item->SetLayerWireDelays( *lengthDetails.LayerDelays );
std::scoped_lock lock( resultsMutex );
results.emplace_back( std::move( new_item ) );
}
} );
resultsFuture.get();
@ -1175,14 +1175,12 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
wxMenu menu;
// Filtering menu items
wxMenuItem* filterByNetName = new wxMenuItem( &menu, ID_FILTER_BY_NET_NAME,
_( "Filter by Net Name" ),
wxMenuItem* filterByNetName = new wxMenuItem( &menu, ID_FILTER_BY_NET_NAME, _( "Filter by Net Name" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( filterByNetName );
filterByNetName->Check( cfg.filter_by_net_name );
wxMenuItem* filterByNetclass = new wxMenuItem( &menu, ID_FILTER_BY_NETCLASS,
_( "Filter by Netclass" ),
wxMenuItem* filterByNetclass = new wxMenuItem( &menu, ID_FILTER_BY_NETCLASS, _( "Filter by Netclass" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( filterByNetclass );
filterByNetclass->Check( cfg.filter_by_netclass );
@ -1196,8 +1194,7 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
//groupConstraint->Check( m_group_by_constraint );
//menu.Append( groupConstraint );
wxMenuItem* groupNetclass = new wxMenuItem( &menu, ID_GROUP_BY_NETCLASS,
_( "Group by Netclass" ),
wxMenuItem* groupNetclass = new wxMenuItem( &menu, ID_GROUP_BY_NETCLASS, _( "Group by Netclass" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( groupNetclass );
groupNetclass->Check( m_groupByNetclass );
@ -1216,22 +1213,19 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
if( !selItem || !selItem->GetIsGroup() )
removeSelectedGroup->Enable( false );
wxMenuItem* removeCustomGroups = new wxMenuItem( &menu, ID_REMOVE_GROUPS,
_( "Remove All Custom Groups" ),
wxMenuItem* removeCustomGroups = new wxMenuItem( &menu, ID_REMOVE_GROUPS, _( "Remove All Custom Groups" ),
wxEmptyString, wxITEM_NORMAL );
menu.Append( removeCustomGroups );
removeCustomGroups->Enable( m_custom_group_rules.size() != 0 );
menu.AppendSeparator();
wxMenuItem* showZeroNetPads = new wxMenuItem( &menu, ID_SHOW_ZERO_NET_PADS,
_( "Show Zero Pad Nets" ),
wxMenuItem* showZeroNetPads = new wxMenuItem( &menu, ID_SHOW_ZERO_NET_PADS, _( "Show Zero Pad Nets" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( showZeroNetPads );
showZeroNetPads->Check( m_showZeroPadNets );
wxMenuItem* showUnconnectedNets = new wxMenuItem( &menu, ID_SHOW_UNCONNECTED_NETS,
_( "Show Unconnected Nets" ),
wxMenuItem* showUnconnectedNets = new wxMenuItem( &menu, ID_SHOW_UNCONNECTED_NETS, _( "Show Unconnected Nets" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( showUnconnectedNets );
showUnconnectedNets->Check( m_showUnconnectedNets );
@ -1239,15 +1233,15 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
menu.AppendSeparator();
wxMenuItem* showTimeDomainDetails = new wxMenuItem( &menu, ID_SHOW_TIME_DOMAIN_DETAILS,
_( "Show Time Domain Details" ), wxEmptyString, wxITEM_CHECK );
_( "Show Time Domain Details" ),
wxEmptyString, wxITEM_CHECK );
menu.Append( showTimeDomainDetails );
showTimeDomainDetails->Check( m_showTimeDomainDetails );
menu.AppendSeparator();
// Report generation
wxMenuItem* generateReport = new wxMenuItem( &menu, ID_GENERATE_REPORT,
_( "Save Net Inspector Report..." ),
wxMenuItem* generateReport = new wxMenuItem( &menu, ID_GENERATE_REPORT, _( "Save Net Inspector Report..." ),
wxEmptyString, wxITEM_NORMAL );
menu.Append( generateReport );
@ -1310,13 +1304,21 @@ void PCB_NET_INSPECTOR_PANEL::onContextMenuSelection( wxCommandEvent& event )
onAddGroup();
break;
case ID_GROUP_BY_CONSTRAINT: m_groupByConstraint = !m_groupByConstraint; break;
case ID_GROUP_BY_CONSTRAINT:
m_groupByConstraint = !m_groupByConstraint;
break;
case ID_GROUP_BY_NETCLASS: m_groupByNetclass = !m_groupByNetclass; break;
case ID_GROUP_BY_NETCLASS:
m_groupByNetclass = !m_groupByNetclass;
break;
case ID_FILTER_BY_NET_NAME: m_filterByNetName = !m_filterByNetName; break;
case ID_FILTER_BY_NET_NAME:
m_filterByNetName = !m_filterByNetName;
break;
case ID_FILTER_BY_NETCLASS: m_filterByNetclass = !m_filterByNetclass; break;
case ID_FILTER_BY_NETCLASS:
m_filterByNetclass = !m_filterByNetclass;
break;
case ID_REMOVE_SELECTED_GROUP:
onRemoveSelectedGroup();
@ -1326,11 +1328,17 @@ void PCB_NET_INSPECTOR_PANEL::onContextMenuSelection( wxCommandEvent& event )
m_custom_group_rules.clear();
break;
case ID_SHOW_ZERO_NET_PADS: m_showZeroPadNets = !m_showZeroPadNets; break;
case ID_SHOW_ZERO_NET_PADS:
m_showZeroPadNets = !m_showZeroPadNets;
break;
case ID_SHOW_UNCONNECTED_NETS: m_showUnconnectedNets = !m_showUnconnectedNets; break;
case ID_SHOW_UNCONNECTED_NETS:
m_showUnconnectedNets = !m_showUnconnectedNets;
break;
case ID_SHOW_TIME_DOMAIN_DETAILS: m_showTimeDomainDetails = !m_showTimeDomainDetails; break;
case ID_SHOW_TIME_DOMAIN_DETAILS:
m_showTimeDomainDetails = !m_showTimeDomainDetails;
break;
case ID_GENERATE_REPORT:
generateReport();
@ -1379,8 +1387,8 @@ void PCB_NET_INSPECTOR_PANEL::onRemoveSelectedGroup()
const auto groupIter = std::ranges::find_if( m_custom_group_rules,
[&]( std::unique_ptr<EDA_COMBINED_MATCHER>& rule )
{
return rule->GetPattern() == groupName;
} );
return rule->GetPattern() == groupName;
} );
if( groupIter != m_custom_group_rules.end() )
{
@ -1542,8 +1550,7 @@ void PCB_NET_INSPECTOR_PANEL::onAddNet()
if( m_board->FindNet( newNetName ) )
{
DisplayError( this,
wxString::Format( _( "Net name '%s' is already in use." ), newNetName ) );
DisplayError( this, wxString::Format( _( "Net name '%s' is already in use." ), newNetName ) );
newNetName = wxEmptyString;
}
else
@ -1600,8 +1607,7 @@ void PCB_NET_INSPECTOR_PANEL::onRenameSelectedNet()
if( unescapedShortName.IsEmpty() )
{
DisplayError( this, wxString::Format( _( "Net name cannot be empty." ),
unescapedShortName ) );
DisplayError( this, _( "Net name cannot be empty." ) );
continue;
}
@ -1610,8 +1616,7 @@ void PCB_NET_INSPECTOR_PANEL::onRenameSelectedNet()
if( m_board->FindNet( shortNetName ) || m_board->FindNet( fullNetName ) )
{
DisplayError( this, wxString::Format( _( "Net name '%s' is already in use." ),
unescapedShortName ) );
DisplayError( this, wxString::Format( _( "Net name '%s' is already in use." ), unescapedShortName ) );
unescapedShortName = wxEmptyString;
}
else
@ -1668,8 +1673,7 @@ void PCB_NET_INSPECTOR_PANEL::onDeleteSelectedNet()
auto delete_one = [this]( const LIST_ITEM* i )
{
if( i->GetPadCount() == 0
|| IsOK( this, wxString::Format( _( "Net '%s' is in use. Delete anyway?" ),
i->GetNetName() ) ) )
|| IsOK( this, wxString::Format( _( "Net '%s' is in use. Delete anyway?" ), i->GetNetName() ) ) )
{
// This is a bit hacky, but it will do for now, since this is the only path
// outside the netlist updater where you can remove a net from a BOARD.
@ -1709,8 +1713,7 @@ void PCB_NET_INSPECTOR_PANEL::onDeleteSelectedNet()
if( ii->GetIsGroup() )
{
if( ii->ChildrenCount() != 0
&& IsOK( this, wxString::Format( _( "Delete all nets in group '%s'?" ),
ii->GetGroupName() ) ) )
&& IsOK( this, wxString::Format( _( "Delete all nets in group '%s'?" ), ii->GetGroupName() ) ) )
{
// we can't be iterating the children container and deleting items from
// it at the same time. thus take a copy of it first.

40
pcbnew/widgets/pcb_net_inspector_panel.h

@ -17,8 +17,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PCB_NET_INSPECTOR_H
#define PCB_NET_INSPECTOR_H
#pragma once
#include <board.h>
#include <id.h>
@ -86,13 +85,13 @@ protected:
/*
* UI events
*/
void OnSearchTextChanged( wxCommandEvent& event ) override;
void OnConfigButton( wxCommandEvent& event ) override;
void OnExpandCollapseRow( wxCommandEvent& event );
void OnHeaderContextMenu( wxCommandEvent& event );
void OnNetsListContextMenu( wxDataViewEvent& event );
void OnNetsListItemActivated( wxDataViewEvent& event );
void OnColumnSorted( wxDataViewEvent& event );
void OnSearchTextChanged( wxCommandEvent& event ) override;
void OnConfigButton( wxCommandEvent& event ) override;
void OnExpandCollapseRow( wxCommandEvent& event );
void OnHeaderContextMenu( wxCommandEvent& event );
void OnNetsListContextMenu( wxDataViewEvent& event );
void OnNetsListItemActivated( wxDataViewEvent& event );
void OnColumnSorted( wxDataViewEvent& event );
private:
/// Updates displayed statistics for the given nets
@ -108,7 +107,7 @@ private:
static wxString formatNetName( const NETINFO_ITEM* aNet );
static wxString formatCount( unsigned int aValue );
wxString formatLength( int64_t aValue ) const;
wxString formatDelay( int64_t aValue ) const;
wxString formatDelay( int64_t aValue ) const;
/// Generates a sub-menu for the show / hide columns submenu
void generateShowHideColumnMenu( wxMenu* target );
@ -125,9 +124,6 @@ private:
/// Build the required columns in the net inspector grid
void buildColumns();
/// Set sensible default column widths
void setColumnWidths();
/**
* Adjust the sizing of list columns
*
@ -164,9 +160,6 @@ private:
/// Handle a net row(s) context menu selection
void onContextMenuSelection( wxCommandEvent& event );
/// Display a new row(s) context menu
void onItemContextMenu( wxCommandEvent& event );
/// Adds a new user-specified net to the board
void onAddNet();
@ -189,12 +182,13 @@ private:
class LIST_ITEM;
/**
* Calculates the length statistics for each given netcode
*
* @param aNetCodes is the list of netcodes to calculate statistics for. This must be sorted in ascending netcode order
* @param aIncludeZeroPadNets determines whether the results should include nets with no pads
* @returns a map of net code to net length detail objects
*/
* Calculates the length statistics for each given netcode
*
* @param aNetCodes is the list of netcodes to calculate statistics for. This must be sorted in ascending
* netcode order
* @param aIncludeZeroPadNets determines whether the results should include nets with no pads
* @returns a map of net code to net length detail objects
*/
std::vector<std::unique_ptr<LIST_ITEM>> calculateNets( const std::vector<NETINFO_ITEM*>& aNetCodes,
bool aIncludeZeroPadNets ) const;
@ -331,5 +325,3 @@ private:
ID_HIDE_COLUMN,
};
};
#endif

54
pcbnew/widgets/pcb_net_inspector_panel_data_model.h

@ -58,7 +58,10 @@ public:
m_column_changed.resize( COLUMN_LAST_STATIC_COL + 1 + 2, 0 );
}
LIST_ITEM() { m_column_changed.resize( COLUMN_LAST_STATIC_COL + 1 + 2, 0 ); }
LIST_ITEM()
{
m_column_changed.resize( COLUMN_LAST_STATIC_COL + 1 + 2, 0 );
}
LIST_ITEM& operator=( const LIST_ITEM& ) = delete;
@ -535,7 +538,9 @@ struct PCB_NET_INSPECTOR_PANEL::LIST_ITEM_GROUP_NUMBER_CMP_LESS
class PCB_NET_INSPECTOR_PANEL::DATA_MODEL : public wxDataViewModel
{
public:
DATA_MODEL( PCB_NET_INSPECTOR_PANEL& parent ) : m_parent( parent ) {}
DATA_MODEL( PCB_NET_INSPECTOR_PANEL& parent ) :
m_parent( parent )
{}
unsigned int columnCount() const { return m_parent.m_columns.size(); }
@ -557,16 +562,12 @@ public:
for( std::unique_ptr<LIST_ITEM>& item : m_items )
{
if( item->GetIsGroup() )
{
ret.push_back( std::make_pair( item->GetGroupName(),
wxDataViewItem( item.get() ) ) );
}
ret.push_back( std::make_pair( item->GetGroupName(), wxDataViewItem( item.get() ) ) );
}
return ret;
}
std::optional<LIST_ITEM_ITER> findItem( int aNetCode )
{
auto i = std::lower_bound( m_items.begin(), m_items.end(), aNetCode,
@ -578,7 +579,6 @@ public:
return { i };
}
std::optional<LIST_ITEM_ITER> findItem( NETINFO_ITEM* aNet )
{
if( aNet != nullptr )
@ -587,7 +587,6 @@ public:
return std::nullopt;
}
std::optional<LIST_ITEM_ITER> findGroupItem( int aGroupNumber )
{
auto i = std::lower_bound( m_items.begin(), m_items.end(), aGroupNumber,
@ -599,7 +598,6 @@ public:
return { i };
}
LIST_ITEM* addGroup( LIST_ITEM_ITER groupsBegin, LIST_ITEM_ITER groupsEnd,
wxString groupName, LIST_ITEM::GROUP_TYPE groupType )
{
@ -622,7 +620,6 @@ public:
return ( *group ).get();
}
std::optional<LIST_ITEM_ITER> addItem( std::unique_ptr<LIST_ITEM> aItem )
{
if( aItem == nullptr )
@ -657,8 +654,7 @@ public:
} );
wxString match_str = aItem->GetNetclassName();
LIST_ITEM* group = addGroup( groups_begin, groups_end, match_str,
LIST_ITEM::GROUP_TYPE::NETCLASS );
LIST_ITEM* group = addGroup( groups_begin, groups_end, match_str, LIST_ITEM::GROUP_TYPE::NETCLASS );
aItem->SetParent( group );
}
@ -721,12 +717,11 @@ public:
return i;
}
/**
* Adds all custom group-by entries to the items table
*
* Note this assumes that m_items is empty prior to adding these groups
*/
*/
void addCustomGroups()
{
m_custom_group_map.clear();
@ -743,7 +738,6 @@ public:
}
}
void deleteAllItems()
{
BeforeReset();
@ -855,16 +849,18 @@ protected:
aOutValue = i->GetNetName();
}
}
else if( aCol == COLUMN_NETCLASS )
{
aOutValue = i->GetNetclassName();
}
else if( aCol == COLUMN_PAD_COUNT )
{
aOutValue = m_parent.formatCount( i->GetPadCount() );
}
else if( aCol == COLUMN_VIA_COUNT )
{
aOutValue = m_parent.formatCount( i->GetViaCount() );
}
else if( aCol == COLUMN_VIA_LENGTH )
{
if( m_show_time_domain_details )
@ -872,7 +868,6 @@ protected:
else
aOutValue = m_parent.formatLength( i->GetViaLength() );
}
else if( aCol == COLUMN_BOARD_LENGTH )
{
if( m_show_time_domain_details )
@ -880,7 +875,6 @@ protected:
else
aOutValue = m_parent.formatLength( i->GetBoardWireLength() );
}
else if( aCol == COLUMN_PAD_DIE_LENGTH )
{
if( m_show_time_domain_details )
@ -888,7 +882,6 @@ protected:
else
aOutValue = m_parent.formatLength( i->GetPadDieLength() );
}
else if( aCol == COLUMN_TOTAL_LENGTH )
{
if( m_show_time_domain_details )
@ -896,7 +889,6 @@ protected:
else
aOutValue = m_parent.formatLength( i->GetTotalLength() );
}
else if( aCol > COLUMN_LAST_STATIC_COL && aCol <= m_parent.m_columns.size() )
{
if( m_show_time_domain_details )
@ -904,9 +896,10 @@ protected:
else
aOutValue = m_parent.formatLength( i->GetLayerWireLength( m_parent.m_columns[aCol].layer ) );
}
else
{
aOutValue = "";
}
}
}
@ -940,13 +933,14 @@ protected:
if( res != 0 )
return res;
}
else if( aCol == COLUMN_PAD_COUNT && i1.GetPadCount() != i2.GetPadCount() )
{
return compareUInt( i1.GetPadCount(), i2.GetPadCount(), aAsc );
}
else if( aCol == COLUMN_VIA_COUNT && i1.GetViaCount() != i2.GetViaCount() )
{
return compareUInt( i1.GetViaCount(), i2.GetViaCount(), aAsc );
}
else if( aCol == COLUMN_VIA_LENGTH )
{
if( m_show_time_domain_details && i1.GetViaDelay() != i2.GetViaDelay() )
@ -955,7 +949,6 @@ protected:
if( !m_show_time_domain_details && i1.GetViaLength() != i2.GetViaLength() )
return compareUInt( i1.GetViaLength(), i2.GetViaLength(), aAsc );
}
else if( aCol == COLUMN_BOARD_LENGTH )
{
if( m_show_time_domain_details && i1.GetBoardWireDelay() != i2.GetBoardWireDelay() )
@ -964,7 +957,6 @@ protected:
if( !m_show_time_domain_details && i1.GetBoardWireLength() != i2.GetBoardWireLength() )
return compareUInt( i1.GetBoardWireLength(), i2.GetBoardWireLength(), aAsc );
}
else if( aCol == COLUMN_PAD_DIE_LENGTH )
{
if( m_show_time_domain_details && i1.GetPadDieDelay() != i2.GetPadDieDelay() )
@ -973,7 +965,6 @@ protected:
if( !m_show_time_domain_details && i1.GetPadDieLength() != i2.GetPadDieLength() )
return compareUInt( i1.GetPadDieLength(), i2.GetPadDieLength(), aAsc );
}
else if( aCol == COLUMN_TOTAL_LENGTH )
{
if( m_show_time_domain_details && i1.GetTotalDelay() != i2.GetTotalDelay() )
@ -982,7 +973,6 @@ protected:
if( !m_show_time_domain_details && i1.GetTotalLength() != i2.GetTotalLength() )
return compareUInt( i1.GetTotalLength(), i2.GetTotalLength(), aAsc );
}
else if( aCol > COLUMN_LAST_STATIC_COL && aCol < m_parent.m_columns.size() )
{
if( m_show_time_domain_details

Loading…
Cancel
Save