Support wildcards and regEx's in Net Inspector.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18071
This commit is contained in:
parent
132ecee665
commit
397ae3bafd
|
@ -1,5 +1,5 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5)
|
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||||
|
@ -15,17 +15,16 @@ WX_TEXT_ENTRY_DIALOG_BASE::WX_TEXT_ENTRY_DIALOG_BASE( wxWindow* parent, wxWindow
|
||||||
|
|
||||||
m_mainSizer = new wxBoxSizer( wxVERTICAL );
|
m_mainSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
wxBoxSizer* bSizerContent;
|
m_ContentSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
bSizerContent = new wxBoxSizer( wxVERTICAL );
|
|
||||||
|
|
||||||
m_label = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_label = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_label->Wrap( -1 );
|
m_label->Wrap( -1 );
|
||||||
bSizerContent->Add( m_label, 0, wxALL|wxEXPAND, 5 );
|
m_ContentSizer->Add( m_label, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
m_textCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
m_textCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_textCtrl->SetMinSize( wxSize( 300,-1 ) );
|
m_textCtrl->SetMinSize( wxSize( 300,-1 ) );
|
||||||
|
|
||||||
bSizerContent->Add( m_textCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
m_ContentSizer->Add( m_textCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||||
|
|
||||||
wxBoxSizer* bSizer3;
|
wxBoxSizer* bSizer3;
|
||||||
bSizer3 = new wxBoxSizer( wxHORIZONTAL );
|
bSizer3 = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
@ -44,10 +43,10 @@ WX_TEXT_ENTRY_DIALOG_BASE::WX_TEXT_ENTRY_DIALOG_BASE( wxWindow* parent, wxWindow
|
||||||
bSizer3->Add( m_choice, 3, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
bSizer3->Add( m_choice, 3, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||||
|
|
||||||
|
|
||||||
bSizerContent->Add( bSizer3, 1, wxEXPAND, 5 );
|
m_ContentSizer->Add( bSizer3, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
||||||
m_mainSizer->Add( bSizerContent, 1, wxALL|wxEXPAND, 5 );
|
m_mainSizer->Add( m_ContentSizer, 1, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||||
|
|
|
@ -1,357 +1,362 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<wxFormBuilder_Project>
|
<wxFormBuilder_Project>
|
||||||
<FileVersion major="1" minor="16" />
|
<FileVersion major="1" minor="17"/>
|
||||||
<object class="Project" expanded="1">
|
<object class="Project" expanded="true">
|
||||||
<property name="class_decoration"></property>
|
<property name="class_decoration"></property>
|
||||||
<property name="code_generation">C++</property>
|
<property name="code_generation">C++</property>
|
||||||
<property name="disconnect_events">1</property>
|
<property name="disconnect_events">1</property>
|
||||||
<property name="disconnect_mode">source_name</property>
|
<property name="disconnect_mode">source_name</property>
|
||||||
<property name="disconnect_php_events">0</property>
|
<property name="disconnect_php_events">0</property>
|
||||||
<property name="disconnect_python_events">0</property>
|
<property name="disconnect_python_events">0</property>
|
||||||
<property name="embedded_files_path">res</property>
|
<property name="embedded_files_path">res</property>
|
||||||
<property name="encoding">UTF-8</property>
|
<property name="encoding">UTF-8</property>
|
||||||
<property name="event_generation">connect</property>
|
<property name="event_generation">connect</property>
|
||||||
<property name="file">dialog_text_entry_base</property>
|
<property name="file">dialog_text_entry_base</property>
|
||||||
<property name="first_id">1000</property>
|
<property name="first_id">1000</property>
|
||||||
<property name="help_provider">none</property>
|
<property name="help_provider">none</property>
|
||||||
<property name="image_path_wrapper_function_name"></property>
|
<property name="image_path_wrapper_function_name"></property>
|
||||||
<property name="indent_with_spaces"></property>
|
<property name="indent_with_spaces"></property>
|
||||||
<property name="internationalize">1</property>
|
<property name="internationalize">1</property>
|
||||||
<property name="name">dialog_text_entry_base</property>
|
<property name="name">dialog_text_entry_base</property>
|
||||||
<property name="namespace"></property>
|
<property name="namespace"></property>
|
||||||
<property name="path">.</property>
|
<property name="path">.</property>
|
||||||
<property name="precompiled_header"></property>
|
<property name="precompiled_header"></property>
|
||||||
<property name="relative_path">1</property>
|
<property name="relative_path">1</property>
|
||||||
<property name="skip_lua_events">1</property>
|
<property name="skip_lua_events">1</property>
|
||||||
<property name="skip_php_events">1</property>
|
<property name="skip_php_events">1</property>
|
||||||
<property name="skip_python_events">1</property>
|
<property name="skip_python_events">1</property>
|
||||||
<property name="ui_table">UI</property>
|
<property name="ui_table">UI</property>
|
||||||
<property name="use_array_enum">0</property>
|
<property name="use_array_enum">0</property>
|
||||||
<property name="use_enum">0</property>
|
<property name="use_enum">0</property>
|
||||||
<property name="use_microsoft_bom">0</property>
|
<property name="use_microsoft_bom">0</property>
|
||||||
<object class="Dialog" expanded="1">
|
<object class="Dialog" expanded="true">
|
||||||
<property name="aui_managed">0</property>
|
<property name="aui_managed">0</property>
|
||||||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
||||||
<property name="bg"></property>
|
<property name="bg"></property>
|
||||||
<property name="center">wxBOTH</property>
|
<property name="center">wxBOTH</property>
|
||||||
<property name="context_help"></property>
|
<property name="context_help"></property>
|
||||||
<property name="context_menu">1</property>
|
<property name="context_menu">1</property>
|
||||||
<property name="enabled">1</property>
|
<property name="drag_accept_files">0</property>
|
||||||
<property name="event_handler">impl_virtual</property>
|
<property name="enabled">1</property>
|
||||||
<property name="extra_style"></property>
|
<property name="event_handler">impl_virtual</property>
|
||||||
<property name="fg"></property>
|
<property name="extra_style"></property>
|
||||||
<property name="font"></property>
|
<property name="fg"></property>
|
||||||
<property name="hidden">0</property>
|
<property name="font"></property>
|
||||||
<property name="id">wxID_ANY</property>
|
<property name="hidden">0</property>
|
||||||
<property name="maximum_size"></property>
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">WX_TEXT_ENTRY_DIALOG_BASE</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="size">-1,-1</property>
|
||||||
|
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||||
|
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
||||||
|
<property name="title"></property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="two_step_creation">0</property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<object class="wxBoxSizer" expanded="true">
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">m_mainSizer</property>
|
||||||
|
<property name="orient">wxVERTICAL</property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<object class="sizeritem" expanded="true">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL|wxEXPAND</property>
|
||||||
|
<property name="proportion">1</property>
|
||||||
|
<object class="wxBoxSizer" expanded="true">
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">WX_TEXT_ENTRY_DIALOG_BASE</property>
|
<property name="name">m_ContentSizer</property>
|
||||||
<property name="pos"></property>
|
<property name="orient">wxVERTICAL</property>
|
||||||
<property name="size">-1,-1</property>
|
<property name="permission">public</property>
|
||||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
<object class="sizeritem" expanded="false">
|
||||||
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
|
<property name="border">5</property>
|
||||||
<property name="title"></property>
|
<property name="flag">wxALL|wxEXPAND</property>
|
||||||
<property name="tooltip"></property>
|
<property name="proportion">0</property>
|
||||||
<property name="two_step_creation">0</property>
|
<object class="wxStaticText" expanded="false">
|
||||||
<property name="window_extra_style"></property>
|
<property name="BottomDockable">1</property>
|
||||||
<property name="window_name"></property>
|
<property name="LeftDockable">1</property>
|
||||||
<property name="window_style"></property>
|
<property name="RightDockable">1</property>
|
||||||
<object class="wxBoxSizer" expanded="1">
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="drag_accept_files">0</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label">MyLabel</property>
|
||||||
|
<property name="markup">0</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">m_mainSizer</property>
|
<property name="moveable">1</property>
|
||||||
<property name="orient">wxVERTICAL</property>
|
<property name="name">m_label</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
<property name="permission">protected</property>
|
<property name="permission">protected</property>
|
||||||
<object class="sizeritem" expanded="1">
|
<property name="pin_button">1</property>
|
||||||
<property name="border">5</property>
|
<property name="pos"></property>
|
||||||
<property name="flag">wxALL|wxEXPAND</property>
|
<property name="resize">Resizable</property>
|
||||||
<property name="proportion">1</property>
|
<property name="show">1</property>
|
||||||
<object class="wxBoxSizer" expanded="1">
|
<property name="size"></property>
|
||||||
<property name="minimum_size"></property>
|
<property name="style"></property>
|
||||||
<property name="name">bSizerContent</property>
|
<property name="subclass">; forward_declare</property>
|
||||||
<property name="orient">wxVERTICAL</property>
|
<property name="toolbar_pane">0</property>
|
||||||
<property name="permission">none</property>
|
<property name="tooltip"></property>
|
||||||
<object class="sizeritem" expanded="0">
|
<property name="window_extra_style"></property>
|
||||||
<property name="border">5</property>
|
<property name="window_name"></property>
|
||||||
<property name="flag">wxALL|wxEXPAND</property>
|
<property name="window_style"></property>
|
||||||
<property name="proportion">0</property>
|
<property name="wrap">-1</property>
|
||||||
<object class="wxStaticText" expanded="0">
|
</object>
|
||||||
<property name="BottomDockable">1</property>
|
|
||||||
<property name="LeftDockable">1</property>
|
|
||||||
<property name="RightDockable">1</property>
|
|
||||||
<property name="TopDockable">1</property>
|
|
||||||
<property name="aui_layer"></property>
|
|
||||||
<property name="aui_name"></property>
|
|
||||||
<property name="aui_position"></property>
|
|
||||||
<property name="aui_row"></property>
|
|
||||||
<property name="best_size"></property>
|
|
||||||
<property name="bg"></property>
|
|
||||||
<property name="caption"></property>
|
|
||||||
<property name="caption_visible">1</property>
|
|
||||||
<property name="center_pane">0</property>
|
|
||||||
<property name="close_button">1</property>
|
|
||||||
<property name="context_help"></property>
|
|
||||||
<property name="context_menu">1</property>
|
|
||||||
<property name="default_pane">0</property>
|
|
||||||
<property name="dock">Dock</property>
|
|
||||||
<property name="dock_fixed">0</property>
|
|
||||||
<property name="docking">Left</property>
|
|
||||||
<property name="enabled">1</property>
|
|
||||||
<property name="fg"></property>
|
|
||||||
<property name="floatable">1</property>
|
|
||||||
<property name="font"></property>
|
|
||||||
<property name="gripper">0</property>
|
|
||||||
<property name="hidden">0</property>
|
|
||||||
<property name="id">wxID_ANY</property>
|
|
||||||
<property name="label">MyLabel</property>
|
|
||||||
<property name="markup">0</property>
|
|
||||||
<property name="max_size"></property>
|
|
||||||
<property name="maximize_button">0</property>
|
|
||||||
<property name="maximum_size"></property>
|
|
||||||
<property name="min_size"></property>
|
|
||||||
<property name="minimize_button">0</property>
|
|
||||||
<property name="minimum_size"></property>
|
|
||||||
<property name="moveable">1</property>
|
|
||||||
<property name="name">m_label</property>
|
|
||||||
<property name="pane_border">1</property>
|
|
||||||
<property name="pane_position"></property>
|
|
||||||
<property name="pane_size"></property>
|
|
||||||
<property name="permission">protected</property>
|
|
||||||
<property name="pin_button">1</property>
|
|
||||||
<property name="pos"></property>
|
|
||||||
<property name="resize">Resizable</property>
|
|
||||||
<property name="show">1</property>
|
|
||||||
<property name="size"></property>
|
|
||||||
<property name="style"></property>
|
|
||||||
<property name="subclass">; forward_declare</property>
|
|
||||||
<property name="toolbar_pane">0</property>
|
|
||||||
<property name="tooltip"></property>
|
|
||||||
<property name="window_extra_style"></property>
|
|
||||||
<property name="window_name"></property>
|
|
||||||
<property name="window_style"></property>
|
|
||||||
<property name="wrap">-1</property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="0">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
|
|
||||||
<property name="proportion">0</property>
|
|
||||||
<object class="wxTextCtrl" expanded="0">
|
|
||||||
<property name="BottomDockable">1</property>
|
|
||||||
<property name="LeftDockable">1</property>
|
|
||||||
<property name="RightDockable">1</property>
|
|
||||||
<property name="TopDockable">1</property>
|
|
||||||
<property name="aui_layer"></property>
|
|
||||||
<property name="aui_name"></property>
|
|
||||||
<property name="aui_position"></property>
|
|
||||||
<property name="aui_row"></property>
|
|
||||||
<property name="best_size"></property>
|
|
||||||
<property name="bg"></property>
|
|
||||||
<property name="caption"></property>
|
|
||||||
<property name="caption_visible">1</property>
|
|
||||||
<property name="center_pane">0</property>
|
|
||||||
<property name="close_button">1</property>
|
|
||||||
<property name="context_help"></property>
|
|
||||||
<property name="context_menu">1</property>
|
|
||||||
<property name="default_pane">0</property>
|
|
||||||
<property name="dock">Dock</property>
|
|
||||||
<property name="dock_fixed">0</property>
|
|
||||||
<property name="docking">Left</property>
|
|
||||||
<property name="enabled">1</property>
|
|
||||||
<property name="fg"></property>
|
|
||||||
<property name="floatable">1</property>
|
|
||||||
<property name="font"></property>
|
|
||||||
<property name="gripper">0</property>
|
|
||||||
<property name="hidden">0</property>
|
|
||||||
<property name="id">wxID_ANY</property>
|
|
||||||
<property name="max_size"></property>
|
|
||||||
<property name="maximize_button">0</property>
|
|
||||||
<property name="maximum_size"></property>
|
|
||||||
<property name="maxlength"></property>
|
|
||||||
<property name="min_size"></property>
|
|
||||||
<property name="minimize_button">0</property>
|
|
||||||
<property name="minimum_size">300,-1</property>
|
|
||||||
<property name="moveable">1</property>
|
|
||||||
<property name="name">m_textCtrl</property>
|
|
||||||
<property name="pane_border">1</property>
|
|
||||||
<property name="pane_position"></property>
|
|
||||||
<property name="pane_size"></property>
|
|
||||||
<property name="permission">protected</property>
|
|
||||||
<property name="pin_button">1</property>
|
|
||||||
<property name="pos"></property>
|
|
||||||
<property name="resize">Resizable</property>
|
|
||||||
<property name="show">1</property>
|
|
||||||
<property name="size"></property>
|
|
||||||
<property name="style"></property>
|
|
||||||
<property name="subclass">; forward_declare</property>
|
|
||||||
<property name="toolbar_pane">0</property>
|
|
||||||
<property name="tooltip"></property>
|
|
||||||
<property name="validator_data_type"></property>
|
|
||||||
<property name="validator_style">wxFILTER_NONE</property>
|
|
||||||
<property name="validator_type">wxDefaultValidator</property>
|
|
||||||
<property name="validator_variable"></property>
|
|
||||||
<property name="value"></property>
|
|
||||||
<property name="window_extra_style"></property>
|
|
||||||
<property name="window_name"></property>
|
|
||||||
<property name="window_style"></property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="1">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxEXPAND</property>
|
|
||||||
<property name="proportion">1</property>
|
|
||||||
<object class="wxBoxSizer" expanded="1">
|
|
||||||
<property name="minimum_size"></property>
|
|
||||||
<property name="name">bSizer3</property>
|
|
||||||
<property name="orient">wxHORIZONTAL</property>
|
|
||||||
<property name="permission">none</property>
|
|
||||||
<object class="sizeritem" expanded="1">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
|
||||||
<property name="proportion">0</property>
|
|
||||||
<object class="wxStaticText" expanded="1">
|
|
||||||
<property name="BottomDockable">1</property>
|
|
||||||
<property name="LeftDockable">1</property>
|
|
||||||
<property name="RightDockable">1</property>
|
|
||||||
<property name="TopDockable">1</property>
|
|
||||||
<property name="aui_layer"></property>
|
|
||||||
<property name="aui_name"></property>
|
|
||||||
<property name="aui_position"></property>
|
|
||||||
<property name="aui_row"></property>
|
|
||||||
<property name="best_size"></property>
|
|
||||||
<property name="bg"></property>
|
|
||||||
<property name="caption"></property>
|
|
||||||
<property name="caption_visible">1</property>
|
|
||||||
<property name="center_pane">0</property>
|
|
||||||
<property name="close_button">1</property>
|
|
||||||
<property name="context_help"></property>
|
|
||||||
<property name="context_menu">1</property>
|
|
||||||
<property name="default_pane">0</property>
|
|
||||||
<property name="dock">Dock</property>
|
|
||||||
<property name="dock_fixed">0</property>
|
|
||||||
<property name="docking">Left</property>
|
|
||||||
<property name="enabled">1</property>
|
|
||||||
<property name="fg"></property>
|
|
||||||
<property name="floatable">1</property>
|
|
||||||
<property name="font"></property>
|
|
||||||
<property name="gripper">0</property>
|
|
||||||
<property name="hidden">1</property>
|
|
||||||
<property name="id">wxID_ANY</property>
|
|
||||||
<property name="label">MyLabel</property>
|
|
||||||
<property name="markup">0</property>
|
|
||||||
<property name="max_size"></property>
|
|
||||||
<property name="maximize_button">0</property>
|
|
||||||
<property name="maximum_size"></property>
|
|
||||||
<property name="min_size"></property>
|
|
||||||
<property name="minimize_button">0</property>
|
|
||||||
<property name="minimum_size"></property>
|
|
||||||
<property name="moveable">1</property>
|
|
||||||
<property name="name">m_choiceLabel</property>
|
|
||||||
<property name="pane_border">1</property>
|
|
||||||
<property name="pane_position"></property>
|
|
||||||
<property name="pane_size"></property>
|
|
||||||
<property name="permission">protected</property>
|
|
||||||
<property name="pin_button">1</property>
|
|
||||||
<property name="pos"></property>
|
|
||||||
<property name="resize">Resizable</property>
|
|
||||||
<property name="show">1</property>
|
|
||||||
<property name="size"></property>
|
|
||||||
<property name="style"></property>
|
|
||||||
<property name="subclass">; ; forward_declare</property>
|
|
||||||
<property name="toolbar_pane">0</property>
|
|
||||||
<property name="tooltip"></property>
|
|
||||||
<property name="window_extra_style"></property>
|
|
||||||
<property name="window_name"></property>
|
|
||||||
<property name="window_style"></property>
|
|
||||||
<property name="wrap">-1</property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="1">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
|
||||||
<property name="proportion">3</property>
|
|
||||||
<object class="wxChoice" expanded="1">
|
|
||||||
<property name="BottomDockable">1</property>
|
|
||||||
<property name="LeftDockable">1</property>
|
|
||||||
<property name="RightDockable">1</property>
|
|
||||||
<property name="TopDockable">1</property>
|
|
||||||
<property name="aui_layer"></property>
|
|
||||||
<property name="aui_name"></property>
|
|
||||||
<property name="aui_position"></property>
|
|
||||||
<property name="aui_row"></property>
|
|
||||||
<property name="best_size"></property>
|
|
||||||
<property name="bg"></property>
|
|
||||||
<property name="caption"></property>
|
|
||||||
<property name="caption_visible">1</property>
|
|
||||||
<property name="center_pane">0</property>
|
|
||||||
<property name="choices"></property>
|
|
||||||
<property name="close_button">1</property>
|
|
||||||
<property name="context_help"></property>
|
|
||||||
<property name="context_menu">1</property>
|
|
||||||
<property name="default_pane">0</property>
|
|
||||||
<property name="dock">Dock</property>
|
|
||||||
<property name="dock_fixed">0</property>
|
|
||||||
<property name="docking">Left</property>
|
|
||||||
<property name="enabled">1</property>
|
|
||||||
<property name="fg"></property>
|
|
||||||
<property name="floatable">1</property>
|
|
||||||
<property name="font"></property>
|
|
||||||
<property name="gripper">0</property>
|
|
||||||
<property name="hidden">1</property>
|
|
||||||
<property name="id">wxID_ANY</property>
|
|
||||||
<property name="max_size"></property>
|
|
||||||
<property name="maximize_button">0</property>
|
|
||||||
<property name="maximum_size"></property>
|
|
||||||
<property name="min_size"></property>
|
|
||||||
<property name="minimize_button">0</property>
|
|
||||||
<property name="minimum_size"></property>
|
|
||||||
<property name="moveable">1</property>
|
|
||||||
<property name="name">m_choice</property>
|
|
||||||
<property name="pane_border">1</property>
|
|
||||||
<property name="pane_position"></property>
|
|
||||||
<property name="pane_size"></property>
|
|
||||||
<property name="permission">protected</property>
|
|
||||||
<property name="pin_button">1</property>
|
|
||||||
<property name="pos"></property>
|
|
||||||
<property name="resize">Resizable</property>
|
|
||||||
<property name="selection">0</property>
|
|
||||||
<property name="show">1</property>
|
|
||||||
<property name="size"></property>
|
|
||||||
<property name="style"></property>
|
|
||||||
<property name="subclass">; ; forward_declare</property>
|
|
||||||
<property name="toolbar_pane">0</property>
|
|
||||||
<property name="tooltip"></property>
|
|
||||||
<property name="validator_data_type"></property>
|
|
||||||
<property name="validator_style">wxFILTER_NONE</property>
|
|
||||||
<property name="validator_type">wxDefaultValidator</property>
|
|
||||||
<property name="validator_variable"></property>
|
|
||||||
<property name="window_extra_style"></property>
|
|
||||||
<property name="window_name"></property>
|
|
||||||
<property name="window_style"></property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="0">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxALL|wxEXPAND</property>
|
|
||||||
<property name="proportion">0</property>
|
|
||||||
<object class="wxStdDialogButtonSizer" expanded="0">
|
|
||||||
<property name="Apply">0</property>
|
|
||||||
<property name="Cancel">1</property>
|
|
||||||
<property name="ContextHelp">0</property>
|
|
||||||
<property name="Help">0</property>
|
|
||||||
<property name="No">0</property>
|
|
||||||
<property name="OK">1</property>
|
|
||||||
<property name="Save">0</property>
|
|
||||||
<property name="Yes">0</property>
|
|
||||||
<property name="minimum_size"></property>
|
|
||||||
<property name="name">m_sdbSizer1</property>
|
|
||||||
<property name="permission">protected</property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="false">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxTextCtrl" expanded="false">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="drag_accept_files">0</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="maxlength"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size">300,-1</property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_textCtrl</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass">; forward_declare</property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="validator_data_type"></property>
|
||||||
|
<property name="validator_style">wxFILTER_NONE</property>
|
||||||
|
<property name="validator_type">wxDefaultValidator</property>
|
||||||
|
<property name="validator_variable"></property>
|
||||||
|
<property name="value"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="true">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxEXPAND</property>
|
||||||
|
<property name="proportion">1</property>
|
||||||
|
<object class="wxBoxSizer" expanded="true">
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">bSizer3</property>
|
||||||
|
<property name="orient">wxHORIZONTAL</property>
|
||||||
|
<property name="permission">none</property>
|
||||||
|
<object class="sizeritem" expanded="true">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxStaticText" expanded="true">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="drag_accept_files">0</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">1</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label">MyLabel</property>
|
||||||
|
<property name="markup">0</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_choiceLabel</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass">; ; forward_declare</property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<property name="wrap">-1</property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="true">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||||
|
<property name="proportion">3</property>
|
||||||
|
<object class="wxChoice" expanded="true">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="choices"></property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="drag_accept_files">0</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">1</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_choice</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="selection">0</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass">; ; forward_declare</property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="validator_data_type"></property>
|
||||||
|
<property name="validator_style">wxFILTER_NONE</property>
|
||||||
|
<property name="validator_type">wxDefaultValidator</property>
|
||||||
|
<property name="validator_variable"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="false">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL|wxEXPAND</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxStdDialogButtonSizer" expanded="false">
|
||||||
|
<property name="Apply">0</property>
|
||||||
|
<property name="Cancel">1</property>
|
||||||
|
<property name="ContextHelp">0</property>
|
||||||
|
<property name="Help">0</property>
|
||||||
|
<property name="No">0</property>
|
||||||
|
<property name="OK">1</property>
|
||||||
|
<property name="Save">0</property>
|
||||||
|
<property name="Yes">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">m_sdbSizer1</property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
</object>
|
||||||
</wxFormBuilder_Project>
|
</wxFormBuilder_Project>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5)
|
// C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||||
|
@ -44,6 +44,7 @@ class WX_TEXT_ENTRY_DIALOG_BASE : public DIALOG_SHIM
|
||||||
wxButton* m_sdbSizer1Cancel;
|
wxButton* m_sdbSizer1Cancel;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
wxBoxSizer* m_ContentSizer;
|
||||||
|
|
||||||
WX_TEXT_ENTRY_DIALOG_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
WX_TEXT_ENTRY_DIALOG_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||||
|
|
||||||
|
|
|
@ -401,6 +401,12 @@ EDA_COMBINED_MATCHER::EDA_COMBINED_MATCHER( const wxString& aPattern,
|
||||||
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_SUBSTR>() );
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_SUBSTR>() );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CTX_NET:
|
||||||
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_REGEX>() );
|
||||||
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_WILDCARD>() );
|
||||||
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_SUBSTR>() );
|
||||||
|
break;
|
||||||
|
|
||||||
case CTX_NETCLASS:
|
case CTX_NETCLASS:
|
||||||
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_REGEX_ANCHORED>() );
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_REGEX_ANCHORED>() );
|
||||||
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_WILDCARD_ANCHORED>() );
|
AddMatcher( aPattern, std::make_unique<EDA_PATTERN_MATCH_WILDCARD_ANCHORED>() );
|
||||||
|
|
|
@ -201,6 +201,7 @@ protected:
|
||||||
enum COMBINED_MATCHER_CONTEXT
|
enum COMBINED_MATCHER_CONTEXT
|
||||||
{
|
{
|
||||||
CTX_LIBITEM,
|
CTX_LIBITEM,
|
||||||
|
CTX_NET,
|
||||||
CTX_NETCLASS,
|
CTX_NETCLASS,
|
||||||
CTX_SIGNAL,
|
CTX_SIGNAL,
|
||||||
CTX_SEARCH
|
CTX_SEARCH
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include <settings/settings_manager.h>
|
#include <settings/settings_manager.h>
|
||||||
#include <validators.h>
|
#include <validators.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
|
#include <eda_pattern_match.h>
|
||||||
|
|
||||||
#include <wx/wupdlock.h>
|
#include <wx/wupdlock.h>
|
||||||
#include <wx/headerctrl.h>
|
#include <wx/headerctrl.h>
|
||||||
|
@ -443,7 +444,12 @@ void PCB_NET_INSPECTOR_PANEL::buildNetsList( bool rebuildColumns )
|
||||||
}
|
}
|
||||||
|
|
||||||
m_data_model->deleteAllItems();
|
m_data_model->deleteAllItems();
|
||||||
m_custom_group_rules = cfg->custom_group_rules;
|
|
||||||
|
m_custom_group_rules.clear();
|
||||||
|
|
||||||
|
for( const wxString& rule : cfg->custom_group_rules )
|
||||||
|
m_custom_group_rules.push_back( std::make_unique<EDA_COMBINED_MATCHER>( rule, CTX_NET ) );
|
||||||
|
|
||||||
m_data_model->addCustomGroups();
|
m_data_model->addCustomGroups();
|
||||||
|
|
||||||
std::vector<std::unique_ptr<LIST_ITEM>> new_items;
|
std::vector<std::unique_ptr<LIST_ITEM>> new_items;
|
||||||
|
@ -1167,14 +1173,14 @@ void PCB_NET_INSPECTOR_PANEL::OnNetsListContextMenu( wxDataViewEvent& event )
|
||||||
wxMenu menu;
|
wxMenu menu;
|
||||||
|
|
||||||
// Net edit menu items
|
// Net edit menu items
|
||||||
wxMenuItem* highlightNet =
|
wxMenuItem* highlightNet = new wxMenuItem( &menu, ID_HIGHLIGHT_SELECTED_NETS,
|
||||||
new wxMenuItem( &menu, ID_HIGHLIGHT_SELECTED_NETS, _( "Highlight Selected Net" ),
|
_( "Highlight Selected Net" ),
|
||||||
wxEmptyString, wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( highlightNet );
|
menu.Append( highlightNet );
|
||||||
|
|
||||||
wxMenuItem* clearHighlighting =
|
wxMenuItem* clearHighlighting = new wxMenuItem( &menu, ID_CLEAR_HIGHLIGHTING,
|
||||||
new wxMenuItem( &menu, ID_CLEAR_HIGHLIGHTING, _( "Clear Net Highlighting" ),
|
_( "Clear Net Highlighting" ),
|
||||||
wxEmptyString, wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( clearHighlighting );
|
menu.Append( clearHighlighting );
|
||||||
|
|
||||||
RENDER_SETTINGS* renderSettings = m_frame->GetCanvas()->GetView()->GetPainter()->GetSettings();
|
RENDER_SETTINGS* renderSettings = m_frame->GetCanvas()->GetView()->GetPainter()->GetSettings();
|
||||||
|
@ -1245,8 +1251,13 @@ void PCB_NET_INSPECTOR_PANEL::onAddGroup()
|
||||||
wxString newGroupName;
|
wxString newGroupName;
|
||||||
NETNAME_VALIDATOR validator( &newGroupName );
|
NETNAME_VALIDATOR validator( &newGroupName );
|
||||||
|
|
||||||
WX_TEXT_ENTRY_DIALOG dlg( this, _( "Group name:" ), _( "New Group" ), newGroupName );
|
WX_TEXT_ENTRY_DIALOG dlg( this, _( "Group name / pattern:" ), _( "New Group" ), newGroupName );
|
||||||
|
wxStaticText* help = new wxStaticText( &dlg, wxID_ANY,
|
||||||
|
_( "(Use /.../ to indicate a regular expression.)" ) );
|
||||||
|
help->SetFont( KIUI::GetInfoFont( this ).Italic() );
|
||||||
|
dlg.m_ContentSizer->Add( help, 0, wxALL|wxEXPAND, 5 );
|
||||||
dlg.SetTextValidator( validator );
|
dlg.SetTextValidator( validator );
|
||||||
|
dlg.GetSizer()->SetSizeHints( &dlg );
|
||||||
|
|
||||||
if( dlg.ShowModal() != wxID_OK || dlg.GetValue().IsEmpty() )
|
if( dlg.ShowModal() != wxID_OK || dlg.GetValue().IsEmpty() )
|
||||||
return; //Aborted by user
|
return; //Aborted by user
|
||||||
|
@ -1254,19 +1265,16 @@ void PCB_NET_INSPECTOR_PANEL::onAddGroup()
|
||||||
newGroupName = UnescapeString( dlg.GetValue() );
|
newGroupName = UnescapeString( dlg.GetValue() );
|
||||||
|
|
||||||
if( newGroupName == "" )
|
if( newGroupName == "" )
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
auto pred = [&]( wxString& rule )
|
if( std::find_if( m_custom_group_rules.begin(), m_custom_group_rules.end(),
|
||||||
|
[&]( std::unique_ptr<EDA_COMBINED_MATCHER>& rule )
|
||||||
|
{
|
||||||
|
return rule->GetPattern().Upper() == newGroupName.Upper();
|
||||||
|
} ) == m_custom_group_rules.end() )
|
||||||
{
|
{
|
||||||
return rule.Upper() == newGroupName.Upper();
|
m_custom_group_rules.push_back( std::make_unique<EDA_COMBINED_MATCHER>( newGroupName,
|
||||||
};
|
CTX_NET ) );
|
||||||
|
|
||||||
if( std::find_if( m_custom_group_rules.begin(), m_custom_group_rules.end(), pred )
|
|
||||||
== m_custom_group_rules.end() )
|
|
||||||
{
|
|
||||||
m_custom_group_rules.push_back( newGroupName );
|
|
||||||
SaveSettings();
|
SaveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1317,13 +1325,15 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
|
||||||
wxMenu menu;
|
wxMenu menu;
|
||||||
|
|
||||||
// Filtering menu items
|
// Filtering menu items
|
||||||
wxMenuItem* filterByNetName = new wxMenuItem(
|
wxMenuItem* filterByNetName = new wxMenuItem( &menu, ID_FILTER_BY_NET_NAME,
|
||||||
&menu, ID_FILTER_BY_NET_NAME, _( "Filter by Net Name" ), wxEmptyString, wxITEM_CHECK );
|
_( "Filter by Net Name" ),
|
||||||
|
wxEmptyString, wxITEM_CHECK );
|
||||||
filterByNetName->Check( cfg.filter_by_net_name );
|
filterByNetName->Check( cfg.filter_by_net_name );
|
||||||
menu.Append( filterByNetName );
|
menu.Append( filterByNetName );
|
||||||
|
|
||||||
wxMenuItem* filterByNetclass = new wxMenuItem(
|
wxMenuItem* filterByNetclass = new wxMenuItem( &menu, ID_FILTER_BY_NETCLASS,
|
||||||
&menu, ID_FILTER_BY_NETCLASS, _( "Filter by Netclass" ), wxEmptyString, wxITEM_CHECK );
|
_( "Filter by Netclass" ),
|
||||||
|
wxEmptyString, wxITEM_CHECK );
|
||||||
filterByNetclass->Check( cfg.filter_by_netclass );
|
filterByNetclass->Check( cfg.filter_by_netclass );
|
||||||
menu.Append( filterByNetclass );
|
menu.Append( filterByNetclass );
|
||||||
|
|
||||||
|
@ -1347,9 +1357,9 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
|
||||||
wxEmptyString, wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( addGroup );
|
menu.Append( addGroup );
|
||||||
|
|
||||||
wxMenuItem* removeSelectedGroup =
|
wxMenuItem* removeSelectedGroup = new wxMenuItem( &menu, ID_REMOVE_SELECTED_GROUP,
|
||||||
new wxMenuItem( &menu, ID_REMOVE_SELECTED_GROUP, _( "Remove Selected Custom Group" ),
|
_( "Remove Selected Custom Group" ),
|
||||||
wxEmptyString, wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( removeSelectedGroup );
|
menu.Append( removeSelectedGroup );
|
||||||
|
|
||||||
if( !selItem || !selItem->GetIsGroup() )
|
if( !selItem || !selItem->GetIsGroup() )
|
||||||
|
@ -1357,31 +1367,32 @@ void PCB_NET_INSPECTOR_PANEL::OnConfigButton( wxCommandEvent& event )
|
||||||
removeSelectedGroup->Enable( false );
|
removeSelectedGroup->Enable( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxMenuItem* removeCustomGroups =
|
wxMenuItem* removeCustomGroups = new wxMenuItem( &menu, ID_REMOVE_GROUPS,
|
||||||
new wxMenuItem( &menu, ID_REMOVE_GROUPS, _( "Remove All Custom Groups" ), wxEmptyString,
|
_( "Remove All Custom Groups" ),
|
||||||
wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( removeCustomGroups );
|
menu.Append( removeCustomGroups );
|
||||||
removeCustomGroups->Enable( m_custom_group_rules.size() != 0 );
|
removeCustomGroups->Enable( m_custom_group_rules.size() != 0 );
|
||||||
|
|
||||||
menu.AppendSeparator();
|
menu.AppendSeparator();
|
||||||
|
|
||||||
wxMenuItem* showZeroNetPads = new wxMenuItem(
|
wxMenuItem* showZeroNetPads = new wxMenuItem( &menu, ID_SHOW_ZERO_NET_PADS,
|
||||||
&menu, ID_SHOW_ZERO_NET_PADS, _( "Show Zero Pad Nets" ), wxEmptyString, wxITEM_CHECK );
|
_( "Show Zero Pad Nets" ),
|
||||||
|
wxEmptyString, wxITEM_CHECK );
|
||||||
showZeroNetPads->Check( m_show_zero_pad_nets );
|
showZeroNetPads->Check( m_show_zero_pad_nets );
|
||||||
menu.Append( showZeroNetPads );
|
menu.Append( showZeroNetPads );
|
||||||
|
|
||||||
wxMenuItem* showUnconnectedNets =
|
wxMenuItem* showUnconnectedNets = new wxMenuItem( &menu, ID_SHOW_UNCONNECTED_NETS,
|
||||||
new wxMenuItem( &menu, ID_SHOW_UNCONNECTED_NETS, _( "Show Unconnected Nets" ),
|
_( "Show Unconnected Nets" ),
|
||||||
wxEmptyString, wxITEM_CHECK );
|
wxEmptyString, wxITEM_CHECK );
|
||||||
showUnconnectedNets->Check( m_show_unconnected_nets );
|
showUnconnectedNets->Check( m_show_unconnected_nets );
|
||||||
menu.Append( showUnconnectedNets );
|
menu.Append( showUnconnectedNets );
|
||||||
|
|
||||||
menu.AppendSeparator();
|
menu.AppendSeparator();
|
||||||
|
|
||||||
// Report generation
|
// Report generation
|
||||||
wxMenuItem* generateReport =
|
wxMenuItem* generateReport = new wxMenuItem( &menu, ID_GENERATE_REPORT,
|
||||||
new wxMenuItem( &menu, ID_GENERATE_REPORT, _( "Save Net Inspector Report" ),
|
_( "Save Net Inspector Report" ),
|
||||||
wxEmptyString, wxITEM_NORMAL );
|
wxEmptyString, wxITEM_NORMAL );
|
||||||
menu.Append( generateReport );
|
menu.Append( generateReport );
|
||||||
|
|
||||||
menu.AppendSeparator();
|
menu.AppendSeparator();
|
||||||
|
@ -1428,85 +1439,69 @@ void PCB_NET_INSPECTOR_PANEL::onSettingsMenu( wxCommandEvent& event )
|
||||||
switch( event.GetId() )
|
switch( event.GetId() )
|
||||||
{
|
{
|
||||||
case ID_ADD_NET:
|
case ID_ADD_NET:
|
||||||
{
|
|
||||||
onAddNet();
|
onAddNet();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_RENAME_NET:
|
case ID_RENAME_NET:
|
||||||
{
|
|
||||||
onRenameSelectedNet();
|
onRenameSelectedNet();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_DELETE_NET:
|
case ID_DELETE_NET:
|
||||||
{
|
|
||||||
onDeleteSelectedNet();
|
onDeleteSelectedNet();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_ADD_GROUP:
|
case ID_ADD_GROUP:
|
||||||
{
|
|
||||||
onAddGroup();
|
onAddGroup();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_GROUP_BY_CONSTRAINT:
|
case ID_GROUP_BY_CONSTRAINT:
|
||||||
{
|
|
||||||
m_group_by_constraint = !m_group_by_constraint;
|
m_group_by_constraint = !m_group_by_constraint;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_GROUP_BY_NETCLASS:
|
case ID_GROUP_BY_NETCLASS:
|
||||||
{
|
|
||||||
m_group_by_netclass = !m_group_by_netclass;
|
m_group_by_netclass = !m_group_by_netclass;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_FILTER_BY_NET_NAME:
|
case ID_FILTER_BY_NET_NAME:
|
||||||
{
|
|
||||||
m_filter_by_net_name = !m_filter_by_net_name;
|
m_filter_by_net_name = !m_filter_by_net_name;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_FILTER_BY_NETCLASS:
|
case ID_FILTER_BY_NETCLASS:
|
||||||
{
|
|
||||||
m_filter_by_netclass = !m_filter_by_netclass;
|
m_filter_by_netclass = !m_filter_by_netclass;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_REMOVE_SELECTED_GROUP:
|
case ID_REMOVE_SELECTED_GROUP:
|
||||||
{
|
|
||||||
onRemoveSelectedGroup();
|
onRemoveSelectedGroup();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_REMOVE_GROUPS:
|
case ID_REMOVE_GROUPS:
|
||||||
{
|
|
||||||
m_custom_group_rules.clear();
|
m_custom_group_rules.clear();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_SHOW_ZERO_NET_PADS:
|
case ID_SHOW_ZERO_NET_PADS:
|
||||||
{
|
|
||||||
m_show_zero_pad_nets = !m_show_zero_pad_nets;
|
m_show_zero_pad_nets = !m_show_zero_pad_nets;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_SHOW_UNCONNECTED_NETS:
|
case ID_SHOW_UNCONNECTED_NETS:
|
||||||
{
|
|
||||||
m_show_unconnected_nets = !m_show_unconnected_nets;
|
m_show_unconnected_nets = !m_show_unconnected_nets;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_GENERATE_REPORT:
|
case ID_GENERATE_REPORT:
|
||||||
{
|
|
||||||
generateReport();
|
generateReport();
|
||||||
saveAndRebuild = false;
|
saveAndRebuild = false;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_HIGHLIGHT_SELECTED_NETS:
|
case ID_HIGHLIGHT_SELECTED_NETS:
|
||||||
{
|
|
||||||
highlightSelectedNets();
|
highlightSelectedNets();
|
||||||
saveAndRebuild = false;
|
saveAndRebuild = false;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case ID_CLEAR_HIGHLIGHTING:
|
case ID_CLEAR_HIGHLIGHTING:
|
||||||
{
|
|
||||||
onClearHighlighting();
|
onClearHighlighting();
|
||||||
saveAndRebuild = false;
|
saveAndRebuild = false;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
{
|
|
||||||
if( event.GetId() >= ID_HIDE_COLUMN )
|
if( event.GetId() >= ID_HIDE_COLUMN )
|
||||||
{
|
{
|
||||||
const int columnId = event.GetId() - ID_HIDE_COLUMN;
|
const int columnId = event.GetId() - ID_HIDE_COLUMN;
|
||||||
|
@ -1517,7 +1512,6 @@ void PCB_NET_INSPECTOR_PANEL::onSettingsMenu( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if( saveAndRebuild )
|
if( saveAndRebuild )
|
||||||
{
|
{
|
||||||
|
@ -1531,14 +1525,16 @@ void PCB_NET_INSPECTOR_PANEL::onRemoveSelectedGroup()
|
||||||
{
|
{
|
||||||
if( m_netsList->GetSelectedItemsCount() == 1 )
|
if( m_netsList->GetSelectedItemsCount() == 1 )
|
||||||
{
|
{
|
||||||
const LIST_ITEM* selItem =
|
auto* selItem = static_cast<const LIST_ITEM*>( m_netsList->GetSelection().GetID() );
|
||||||
static_cast<const LIST_ITEM*>( m_netsList->GetSelection().GetID() );
|
|
||||||
|
|
||||||
if( selItem->GetIsGroup() )
|
if( selItem->GetIsGroup() )
|
||||||
{
|
{
|
||||||
wxString groupName = selItem->GetGroupName();
|
wxString groupName = selItem->GetGroupName();
|
||||||
auto groupIter = std::find( m_custom_group_rules.begin(), m_custom_group_rules.end(),
|
auto groupIter = std::find_if( m_custom_group_rules.begin(), m_custom_group_rules.end(),
|
||||||
groupName );
|
[&]( std::unique_ptr<EDA_COMBINED_MATCHER>& rule )
|
||||||
|
{
|
||||||
|
return rule->GetPattern() == groupName;
|
||||||
|
} );
|
||||||
|
|
||||||
if( groupIter != m_custom_group_rules.end() )
|
if( groupIter != m_custom_group_rules.end() )
|
||||||
{
|
{
|
||||||
|
@ -1575,13 +1571,15 @@ void PCB_NET_INSPECTOR_PANEL::generateReport()
|
||||||
|
|
||||||
if( col.has_units )
|
if( col.has_units )
|
||||||
{
|
{
|
||||||
txt += wxString::Format( _( "%s (%s)" ), col.csv_name,
|
txt += wxString::Format( _( "%s (%s)" ),
|
||||||
|
col.csv_name,
|
||||||
EDA_UNIT_UTILS::GetLabel( m_frame->GetUserUnits() ) );
|
EDA_UNIT_UTILS::GetLabel( m_frame->GetUserUnits() ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
txt += col.csv_name;
|
txt += col.csv_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
txt += wxT( "\";" );
|
txt += wxT( "\";" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1958,16 +1956,12 @@ void PCB_NET_INSPECTOR_PANEL::SaveSettings()
|
||||||
for( std::pair<wxString, wxDataViewItem>& item : groupItems )
|
for( std::pair<wxString, wxDataViewItem>& item : groupItems )
|
||||||
{
|
{
|
||||||
if( m_netsList->IsExpanded( item.second ) )
|
if( m_netsList->IsExpanded( item.second ) )
|
||||||
{
|
|
||||||
cfg.expanded_rows.push_back( item.first );
|
cfg.expanded_rows.push_back( item.first );
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Customer group rules
|
// Customer group rules
|
||||||
cfg.custom_group_rules.clear();
|
cfg.custom_group_rules.clear();
|
||||||
|
|
||||||
for( const wxString& rule : m_custom_group_rules )
|
for( const std::unique_ptr<EDA_COMBINED_MATCHER>& rule : m_custom_group_rules )
|
||||||
{
|
cfg.custom_group_rules.push_back( rule->GetPattern() );
|
||||||
cfg.custom_group_rules.push_back( rule );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ class BOARD;
|
||||||
class BOARD_ITEM;
|
class BOARD_ITEM;
|
||||||
class CN_ITEM;
|
class CN_ITEM;
|
||||||
class PCB_TRACK;
|
class PCB_TRACK;
|
||||||
|
class EDA_COMBINED_MATCHER;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Net inspection panel for pcbnew
|
* Net inspection panel for pcbnew
|
||||||
|
@ -284,7 +285,7 @@ private:
|
||||||
|
|
||||||
int m_num_copper_layers = 0;
|
int m_num_copper_layers = 0;
|
||||||
|
|
||||||
std::vector<wxString> m_custom_group_rules;
|
std::vector<std::unique_ptr<EDA_COMBINED_MATCHER>> m_custom_group_rules;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CSV output control
|
* CSV output control
|
||||||
|
|
|
@ -20,6 +20,9 @@
|
||||||
#ifndef PCB_NET_INSPECTOR_PANEL_DATA_MODEL
|
#ifndef PCB_NET_INSPECTOR_PANEL_DATA_MODEL
|
||||||
#define PCB_NET_INSPECTOR_PANEL_DATA_MODEL
|
#define PCB_NET_INSPECTOR_PANEL_DATA_MODEL
|
||||||
|
|
||||||
|
#include <eda_pattern_match.h>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primary data item for entries in the Net Inspector list.
|
* Primary data item for entries in the Net Inspector list.
|
||||||
*
|
*
|
||||||
|
@ -36,13 +39,17 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
LIST_ITEM( unsigned int aGroupNumber, const wxString& aGroupName, GROUP_TYPE aGroupType ) :
|
LIST_ITEM( unsigned int aGroupNumber, const wxString& aGroupName, GROUP_TYPE aGroupType ) :
|
||||||
m_group_type( aGroupType ), m_group_number( aGroupNumber ), m_net_name( aGroupName )
|
m_group_type( aGroupType ),
|
||||||
|
m_group_number( aGroupNumber ),
|
||||||
|
m_net_name( aGroupName )
|
||||||
{
|
{
|
||||||
m_group_name = aGroupName;
|
m_group_name = aGroupName;
|
||||||
m_column_changed.resize( COLUMN_LAST_STATIC_COL + 1 + MAX_CU_LAYERS, 0 );
|
m_column_changed.resize( COLUMN_LAST_STATIC_COL + 1 + MAX_CU_LAYERS, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
LIST_ITEM( NETINFO_ITEM* aNet ) : m_group_type( GROUP_TYPE::NONE ), m_net( aNet )
|
LIST_ITEM( NETINFO_ITEM* aNet ) :
|
||||||
|
m_group_type( GROUP_TYPE::NONE ),
|
||||||
|
m_net( aNet )
|
||||||
{
|
{
|
||||||
wxASSERT( aNet );
|
wxASSERT( aNet );
|
||||||
m_net_name = UnescapeString( aNet->GetNetname() );
|
m_net_name = UnescapeString( aNet->GetNetname() );
|
||||||
|
@ -195,8 +202,11 @@ public:
|
||||||
wxCHECK_RET( aLayer < m_layer_wire_length.size(), wxT( "Invalid layer specified" ) );
|
wxCHECK_RET( aLayer < m_layer_wire_length.size(), wxT( "Invalid layer specified" ) );
|
||||||
|
|
||||||
if( m_parent )
|
if( m_parent )
|
||||||
m_parent->SetLayerWireLength(
|
{
|
||||||
m_parent->GetBoardWireLength() - m_layer_wire_length[aLayer] + aValue, aLayer );
|
m_parent->SetLayerWireLength( m_parent->GetBoardWireLength()
|
||||||
|
- m_layer_wire_length[aLayer] + aValue,
|
||||||
|
aLayer );
|
||||||
|
}
|
||||||
|
|
||||||
m_column_changed[COLUMN_BOARD_LENGTH] |= ( m_layer_wire_length[aLayer] != aValue );
|
m_column_changed[COLUMN_BOARD_LENGTH] |= ( m_layer_wire_length[aLayer] != aValue );
|
||||||
m_layer_wire_length[aLayer] = aValue;
|
m_layer_wire_length[aLayer] = aValue;
|
||||||
|
@ -280,8 +290,8 @@ public:
|
||||||
|
|
||||||
m_parent->SubPadDieLength( GetPadDieLength() );
|
m_parent->SubPadDieLength( GetPadDieLength() );
|
||||||
|
|
||||||
m_parent->m_children.erase(
|
m_parent->m_children.erase( std::find( m_parent->m_children.begin(),
|
||||||
std::find( m_parent->m_children.begin(), m_parent->m_children.end(), this ) );
|
m_parent->m_children.end(), this ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_parent = aParent;
|
m_parent = aParent;
|
||||||
|
@ -400,8 +410,10 @@ public:
|
||||||
for( std::unique_ptr<LIST_ITEM>& item : m_items )
|
for( std::unique_ptr<LIST_ITEM>& item : m_items )
|
||||||
{
|
{
|
||||||
if( item->GetIsGroup() )
|
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;
|
return ret;
|
||||||
|
@ -454,8 +466,8 @@ public:
|
||||||
if( group == groupsEnd )
|
if( group == groupsEnd )
|
||||||
{
|
{
|
||||||
int dist = std::distance( groupsBegin, groupsEnd );
|
int dist = std::distance( groupsBegin, groupsEnd );
|
||||||
std::unique_ptr<LIST_ITEM> groupItem =
|
std::unique_ptr<LIST_ITEM> groupItem = std::make_unique<LIST_ITEM>( dist, groupName,
|
||||||
std::make_unique<LIST_ITEM>( dist, groupName, groupType );
|
groupType );
|
||||||
group = m_items.insert( groupsEnd, std::move( groupItem ) );
|
group = m_items.insert( groupsEnd, std::move( groupItem ) );
|
||||||
ItemAdded( wxDataViewItem( ( *group )->Parent() ), wxDataViewItem( &**group ) );
|
ItemAdded( wxDataViewItem( ( *group )->Parent() ), wxDataViewItem( &**group ) );
|
||||||
}
|
}
|
||||||
|
@ -476,11 +488,11 @@ public:
|
||||||
{
|
{
|
||||||
wxString searchName = aItem->GetNetName().Upper();
|
wxString searchName = aItem->GetNetName().Upper();
|
||||||
|
|
||||||
for( const wxString& groupName : m_parent.m_custom_group_rules )
|
for( const std::unique_ptr<EDA_COMBINED_MATCHER>& rule : m_parent.m_custom_group_rules )
|
||||||
{
|
{
|
||||||
if( searchName.Find( groupName.Upper() ) != wxNOT_FOUND )
|
if( rule->Find( searchName.Upper() ) )
|
||||||
{
|
{
|
||||||
aItem->SetParent( m_custom_group_map[groupName] );
|
aItem->SetParent( m_custom_group_map[ rule->GetPattern() ] );
|
||||||
groupMatched = true;
|
groupMatched = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -573,11 +585,11 @@ public:
|
||||||
m_custom_group_map.clear();
|
m_custom_group_map.clear();
|
||||||
int groupId = 0;
|
int groupId = 0;
|
||||||
|
|
||||||
for( const wxString& groupName : m_parent.m_custom_group_rules )
|
for( const std::unique_ptr<EDA_COMBINED_MATCHER>& rule : m_parent.m_custom_group_rules )
|
||||||
{
|
{
|
||||||
std::unique_ptr<LIST_ITEM>& group = m_items.emplace_back( std::make_unique<LIST_ITEM>(
|
std::unique_ptr<LIST_ITEM>& group = m_items.emplace_back( std::make_unique<LIST_ITEM>(
|
||||||
groupId, groupName, LIST_ITEM::GROUP_TYPE::USER_DEFINED ) );
|
groupId, rule->GetPattern(), LIST_ITEM::GROUP_TYPE::USER_DEFINED ) );
|
||||||
m_custom_group_map[groupName] = group.get();
|
m_custom_group_map[ rule->GetPattern() ] = group.get();
|
||||||
ItemAdded( wxDataViewItem( group->Parent() ), wxDataViewItem( group.get() ) );
|
ItemAdded( wxDataViewItem( group->Parent() ), wxDataViewItem( group.get() ) );
|
||||||
++groupId;
|
++groupId;
|
||||||
}
|
}
|
||||||
|
@ -674,6 +686,7 @@ protected:
|
||||||
if( i->GetIsGroup() )
|
if( i->GetIsGroup() )
|
||||||
{
|
{
|
||||||
if( aCol == COLUMN_NAME )
|
if( aCol == COLUMN_NAME )
|
||||||
|
{
|
||||||
switch( i->GetGroupType() )
|
switch( i->GetGroupType() )
|
||||||
{
|
{
|
||||||
case LIST_ITEM::GROUP_TYPE::NETCLASS:
|
case LIST_ITEM::GROUP_TYPE::NETCLASS:
|
||||||
|
@ -682,11 +695,15 @@ protected:
|
||||||
case LIST_ITEM::GROUP_TYPE::USER_DEFINED:
|
case LIST_ITEM::GROUP_TYPE::USER_DEFINED:
|
||||||
aOutValue = _( "Custom" ) + ": " + i->GetGroupName();
|
aOutValue = _( "Custom" ) + ": " + i->GetGroupName();
|
||||||
break;
|
break;
|
||||||
default: aOutValue = i->GetGroupName(); break;
|
default:
|
||||||
|
aOutValue = i->GetGroupName();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
aOutValue = "";
|
aOutValue = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( aCol == COLUMN_NAME )
|
else if( aCol == COLUMN_NAME )
|
||||||
|
@ -714,8 +731,7 @@ protected:
|
||||||
aOutValue = m_parent.formatLength( i->GetTotalLength() );
|
aOutValue = m_parent.formatLength( i->GetTotalLength() );
|
||||||
|
|
||||||
else if( aCol > COLUMN_LAST_STATIC_COL && aCol <= m_parent.m_columns.size() )
|
else if( aCol > COLUMN_LAST_STATIC_COL && aCol <= m_parent.m_columns.size() )
|
||||||
aOutValue = m_parent.formatLength(
|
aOutValue = m_parent.formatLength( i->GetLayerWireLength( m_parent.m_columns[aCol].layer ) );
|
||||||
i->GetLayerWireLength( m_parent.m_columns[aCol].layer ) );
|
|
||||||
|
|
||||||
else
|
else
|
||||||
aOutValue = "";
|
aOutValue = "";
|
||||||
|
|
Loading…
Reference in New Issue