Focus on correct unit/bodystyle.

ADDED: also allows user to control whether or not
cross-probing is done.

CHANGED: also re-lays-out dialog to match style of
Fields Table.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/22799
This commit is contained in:
Jeff Young
2026-02-06 15:53:01 +00:00
parent 42c1941517
commit 99bcd5943e
8 changed files with 574 additions and 482 deletions
+29 -5
View File
@@ -1150,8 +1150,7 @@ DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE( SYMBOL_EDIT_FRAME* parent,
m_addButton->SetBitmap( KiBitmapBundle( BITMAPS::small_plus ) );
m_deleteButton->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) );
m_refreshButton->SetBitmap( KiBitmapBundle( BITMAPS::small_refresh ) );
m_divider1->SetIsSeparator();
m_bMenu->SetBitmap( KiBitmapBundle( BITMAPS::config ) );
GetSizer()->SetSizeHints(this);
Centre();
@@ -1392,10 +1391,15 @@ void DIALOG_LIB_EDIT_PIN_TABLE::OnCellSelected( wxGridEvent& event )
}
}
WINDOW_THAWER thawer( m_editFrame );
SYMBOL_EDITOR_SETTINGS* cfg = static_cast<SYMBOL_EDITOR_SETTINGS*>( m_editFrame->config() );
m_editFrame->FocusOnItem( pin );
m_editFrame->GetCanvas()->Refresh();
if( cfg->m_PinTable.crossprobe_on_selection )
{
WINDOW_THAWER thawer( m_editFrame );
m_editFrame->FocusOnItem( pin );
m_editFrame->GetCanvas()->Refresh();
}
}
@@ -1435,6 +1439,26 @@ void DIALOG_LIB_EDIT_PIN_TABLE::OnRebuildRows( wxCommandEvent& )
}
void DIALOG_LIB_EDIT_PIN_TABLE::OnMenu( wxCommandEvent& event )
{
SYMBOL_EDITOR_SETTINGS* cfg = static_cast<SYMBOL_EDITOR_SETTINGS*>( m_editFrame->config() );
// Build a pop menu:
wxMenu menu;
menu.Append( 4206, _( "Highlight on Cross-probe" ),
_( "Highlight corresponding pin on canvas when it is selected in the table" ),
wxITEM_CHECK );
menu.Check( 4206, cfg->m_PinTable.crossprobe_on_selection );
// menu_id is the selected submenu id from the popup menu or wxID_NONE
int menu_id = m_bMenu->GetPopupMenuSelectionFromUser( menu );
if( menu_id == 0 || menu_id == 4206 )
cfg->m_PinTable.crossprobe_on_selection = !cfg->m_PinTable.crossprobe_on_selection;
}
void DIALOG_LIB_EDIT_PIN_TABLE::OnFilterCheckBox( wxCommandEvent& event )
{
if( event.GetEventObject() == m_cbFilterByUnit )
@@ -68,6 +68,7 @@ public:
void OnCellEdited( wxGridEvent& event ) override;
void OnCellSelected( wxGridEvent& event ) override;
void OnRebuildRows( wxCommandEvent& event ) override;
void OnMenu( wxCommandEvent& event ) override;
void OnGroupSelected( wxCommandEvent& event ) override;
void OnFilterCheckBox( wxCommandEvent& event ) override;
void OnFilterChoice( wxCommandEvent& event ) override;
@@ -5,7 +5,6 @@
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "widgets/bitmap_button.h"
#include "widgets/std_bitmap_button.h"
#include "widgets/wx_grid.h"
@@ -130,41 +129,70 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE( wxWindow* parent
wxBoxSizer* bRightPaneSizer;
bRightPaneSizer = new wxBoxSizer( wxVERTICAL );
wxStaticBoxSizer* sbSizer1;
sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Filter Pin Table") ), wxVERTICAL );
wxBoxSizer* bSizerCols;
bSizerCols = new wxBoxSizer( wxHORIZONTAL );
wxBoxSizer* bSizerLeftCol;
bSizerLeftCol = new wxBoxSizer( wxVERTICAL );
m_cbGroup = new wxCheckBox( this, wxID_ANY, _("Group by name"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerLeftCol->Add( m_cbGroup, 0, wxALL, 5 );
m_groupSelected = new wxButton( this, wxID_ANY, _("Group Selected Pins"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerLeftCol->Add( m_groupSelected, 0, wxALL, 5 );
bSizerCols->Add( bSizerLeftCol, 0, wxEXPAND, 5 );
bSizerCols->Add( 0, 0, 1, wxEXPAND, 5 );
wxBoxSizer* bSizerRightCol;
bSizerRightCol = new wxBoxSizer( wxHORIZONTAL );
m_refreshButton = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizerRightCol->Add( m_refreshButton, 0, 0, 5 );
m_bMenu = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizerRightCol->Add( m_bMenu, 0, wxLEFT, 5 );
bSizerCols->Add( bSizerRightCol, 0, wxEXPAND, 5 );
bRightPaneSizer->Add( bSizerCols, 1, wxEXPAND|wxBOTTOM|wxLEFT, 5 );
wxGridBagSizer* gbSizer1;
gbSizer1 = new wxGridBagSizer( 5, 0 );
gbSizer1->SetFlexibleDirection( wxBOTH );
gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_cbFilterByUnit = new wxCheckBox( sbSizer1->GetStaticBox(), wxID_ANY, _("Filter by unit:"), wxDefaultPosition, wxDefaultSize, 0 );
m_cbFilterByUnit = new wxCheckBox( this, wxID_ANY, _("Filter by unit:"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_cbFilterByUnit, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
wxArrayString m_unitFilterChoices;
m_unitFilter = new wxChoice( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_unitFilterChoices, 0 );
m_unitFilter = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_unitFilterChoices, 0 );
m_unitFilter->SetSelection( 0 );
gbSizer1->Add( m_unitFilter, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_cbFilterByBodyStyle = new wxCheckBox( sbSizer1->GetStaticBox(), wxID_ANY, _("Filter by body style:"), wxDefaultPosition, wxDefaultSize, 0 );
m_cbFilterByBodyStyle = new wxCheckBox( this, wxID_ANY, _("Filter by body style:"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_cbFilterByBodyStyle, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
wxArrayString m_bodyStyleFilterChoices;
m_bodyStyleFilter = new wxChoice( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_bodyStyleFilterChoices, 0 );
m_bodyStyleFilter = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_bodyStyleFilterChoices, 0 );
m_bodyStyleFilter->SetSelection( 0 );
gbSizer1->Add( m_bodyStyleFilter, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_cbFilterSelected = new wxCheckBox( sbSizer1->GetStaticBox(), wxID_ANY, _("Filter by selection"), wxDefaultPosition, wxDefaultSize, 0 );
m_cbFilterSelected = new wxCheckBox( this, wxID_ANY, _("Filter by selection"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_cbFilterSelected, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
sbSizer1->Add( gbSizer1, 1, wxBOTTOM|wxEXPAND, 5 );
gbSizer1->AddGrowableCol( 1 );
bRightPaneSizer->Add( gbSizer1, 0, wxEXPAND|wxALL, 5 );
bRightPaneSizer->Add( sbSizer1, 0, wxEXPAND|wxALL, 5 );
bRightPaneSizer->Add( 0, 20, 1, wxEXPAND, 5 );
bRightPaneSizer->Add( 0, 35, 1, wxEXPAND, 5 );
wxStaticBoxSizer* sbSizer3;
sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Export") ), wxVERTICAL );
@@ -245,27 +273,13 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE( wxWindow* parent
bSizer5 = new wxBoxSizer( wxHORIZONTAL );
m_addButton = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizer5->Add( m_addButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
bSizer5->Add( m_addButton, 0, wxRIGHT|wxLEFT, 5 );
m_deleteButton = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizer5->Add( m_deleteButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
m_divider1 = new BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
m_divider1->Enable( false );
bSizer5->Add( m_divider1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP, 4 );
m_cbGroup = new wxCheckBox( this, wxID_ANY, _("Group by name"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer5->Add( m_cbGroup, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
m_groupSelected = new wxButton( this, wxID_ANY, _("Group Selected"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer5->Add( m_groupSelected, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 7 );
m_refreshButton = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bSizer5->Add( m_refreshButton, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 10 );
bSizer5->Add( m_deleteButton, 0, wxRIGHT|wxLEFT, 15 );
bBottomSizer->Add( bSizer5, 0, wxEXPAND|wxRIGHT, 5 );
bBottomSizer->Add( bSizer5, 0, wxEXPAND|wxTOP|wxRIGHT, 5 );
bBottomSizer->Add( 30, 0, 1, wxEXPAND, 5 );
@@ -296,6 +310,10 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE( wxWindow* parent
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCellSelected ), NULL, this );
m_grid->Connect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCellSelected ), NULL, this );
m_grid->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnSize ), NULL, this );
m_cbGroup->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_groupSelected->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnGroupSelected ), NULL, this );
m_refreshButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_bMenu->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnMenu ), NULL, this );
m_cbFilterByUnit->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterCheckBox ), NULL, this );
m_unitFilter->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterChoice ), NULL, this );
m_cbFilterByBodyStyle->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterCheckBox ), NULL, this );
@@ -307,9 +325,6 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE( wxWindow* parent
m_btnImportFromClipboard->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnImportButtonClick ), NULL, this );
m_addButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnAddRow ), NULL, this );
m_deleteButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnDeleteRow ), NULL, this );
m_cbGroup->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_groupSelected->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnGroupSelected ), NULL, this );
m_refreshButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_ButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCancel ), NULL, this );
}
@@ -322,6 +337,10 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::~DIALOG_LIB_EDIT_PIN_TABLE_BASE()
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCellSelected ), NULL, this );
m_grid->Disconnect( wxEVT_GRID_EDITOR_SHOWN, wxGridEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCellSelected ), NULL, this );
m_grid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnSize ), NULL, this );
m_cbGroup->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_groupSelected->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnGroupSelected ), NULL, this );
m_refreshButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_bMenu->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnMenu ), NULL, this );
m_cbFilterByUnit->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterCheckBox ), NULL, this );
m_unitFilter->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterChoice ), NULL, this );
m_cbFilterByBodyStyle->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnFilterCheckBox ), NULL, this );
@@ -333,9 +352,6 @@ DIALOG_LIB_EDIT_PIN_TABLE_BASE::~DIALOG_LIB_EDIT_PIN_TABLE_BASE()
m_btnImportFromClipboard->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnImportButtonClick ), NULL, this );
m_addButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnAddRow ), NULL, this );
m_deleteButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnDeleteRow ), NULL, this );
m_cbGroup->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_groupSelected->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnGroupSelected ), NULL, this );
m_refreshButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnRebuildRows ), NULL, this );
m_ButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_LIB_EDIT_PIN_TABLE_BASE::OnCancel ), NULL, this );
}
File diff suppressed because it is too large Load Diff
@@ -10,7 +10,6 @@
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class BITMAP_BUTTON;
class STD_BITMAP_BUTTON;
class WX_GRID;
@@ -24,15 +23,15 @@ class WX_GRID;
#include <wx/sizer.h>
#include <wx/grid.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/gbsizer.h>
#include <wx/statbox.h>
#include <wx/radiobut.h>
#include <wx/button.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/bmpbuttn.h>
#include <wx/choice.h>
#include <wx/gbsizer.h>
#include <wx/radiobut.h>
#include <wx/statbox.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
@@ -52,6 +51,10 @@ class DIALOG_LIB_EDIT_PIN_TABLE_BASE : public DIALOG_SHIM
wxStaticText* m_staticTextDuplicatePins;
wxStaticText* m_duplicate_pins;
WX_GRID* m_grid;
wxCheckBox* m_cbGroup;
wxButton* m_groupSelected;
STD_BITMAP_BUTTON* m_refreshButton;
STD_BITMAP_BUTTON* m_bMenu;
wxCheckBox* m_cbFilterByUnit;
wxChoice* m_unitFilter;
wxCheckBox* m_cbFilterByBodyStyle;
@@ -67,10 +70,6 @@ class DIALOG_LIB_EDIT_PIN_TABLE_BASE : public DIALOG_SHIM
wxButton* m_btnImportFromClipboard;
STD_BITMAP_BUTTON* m_addButton;
STD_BITMAP_BUTTON* m_deleteButton;
BITMAP_BUTTON* m_divider1;
wxCheckBox* m_cbGroup;
wxButton* m_groupSelected;
STD_BITMAP_BUTTON* m_refreshButton;
wxStdDialogButtonSizer* m_Buttons;
wxButton* m_ButtonsOK;
wxButton* m_ButtonsCancel;
@@ -81,14 +80,15 @@ class DIALOG_LIB_EDIT_PIN_TABLE_BASE : public DIALOG_SHIM
virtual void OnCellEdited( wxGridEvent& event ) = 0;
virtual void OnCellSelected( wxGridEvent& event ) = 0;
virtual void OnSize( wxSizeEvent& event ) = 0;
virtual void OnRebuildRows( wxCommandEvent& event ) = 0;
virtual void OnGroupSelected( wxCommandEvent& event ) = 0;
virtual void OnMenu( wxCommandEvent& event ) = 0;
virtual void OnFilterCheckBox( wxCommandEvent& event ) = 0;
virtual void OnFilterChoice( wxCommandEvent& event ) = 0;
virtual void OnExportButtonClick( wxCommandEvent& event ) = 0;
virtual void OnImportButtonClick( wxCommandEvent& event ) = 0;
virtual void OnAddRow( wxCommandEvent& event ) = 0;
virtual void OnDeleteRow( wxCommandEvent& event ) = 0;
virtual void OnRebuildRows( wxCommandEvent& event ) = 0;
virtual void OnGroupSelected( wxCommandEvent& event ) = 0;
virtual void OnCancel( wxCommandEvent& event ) = 0;
@@ -1630,6 +1630,17 @@ void SYMBOL_EDIT_FRAME::FocusOnItem( EDA_ITEM* aItem, bool aAllowScroll )
if( aItem )
{
if( aItem->IsSCH_ITEM() )
{
SCH_ITEM* item = static_cast<SCH_ITEM*>( aItem );
if( int unit = item->GetUnit() )
SetUnit( unit );
if( int bodyStyle = item->GetBodyStyle() )
SetBodyStyle( bodyStyle );
}
if( !aItem->IsBrightened() )
{
aItem->SetBrightened();
@@ -110,6 +110,9 @@ SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS() :
m_params.emplace_back( new PARAM<bool>( "lib_field_editor.sidebar_collapsed",
&m_LibFieldEditor.sidebar_collapsed, false ) );
m_params.emplace_back( new PARAM<bool>( "pin_table.crossprobe_on_selection",
&m_PinTable.crossprobe_on_selection, true ) );
m_params.emplace_back( new PARAM_LAMBDA<nlohmann::json>( "selection_filter",
[&]() -> nlohmann::json
{
@@ -60,6 +60,11 @@ public:
bool sidebar_collapsed;
};
struct PIN_TABLE
{
bool crossprobe_on_selection;
};
SYMBOL_EDITOR_SETTINGS();
virtual ~SYMBOL_EDITOR_SETTINGS() {}
@@ -90,6 +95,8 @@ public:
PANEL_LIB_FIELDS_TABLE m_LibFieldEditor;
PIN_TABLE m_PinTable;
protected:
virtual std::string getLegacyFrameName() const override { return "LibeditFrame"; }